腾讯地图坐标转百度地图坐标

实现功能:调用微信获取当前位置接口,转换为百度坐标,进行导航

(1)net.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>
<html>
<head>
<title>LBS导航</title>
     <s:param name="appId">${appId}</s:param>
</s:include>
<script type="text/javascript">
	/*从url获取值*/
	/*var networkId=${networkId};*/
	var icon = ‘<s:url value=‘/custom/tydc/other/images/location.png‘></s:url>‘;
	var aimIcon = ‘<s:url value=‘/custom/tydc/other/images/location_blue.png‘></s:url>‘;
</script>
<script type="text/javascript" src="<s:url value="/custom/tydc/other/js/net.js"></s:url>"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=l1nCuDjLYBOSV6ZRxEXfMQFN"></script>
</head>
<body>
	<div id="location_map"></div>
	<div class="map_card">
	  <div class="network_list">
	    <div class="text">
	    	<span class="title" id="name"></span>
	     	<span class="address" id="address">地址:昌平区龙腾苑六区</span>
	     	<span class="phone"><a id="tel" href="tel:05378676883"><span class="urlphone" id="linkphone">电话:0537-8676883</span></a></span>
	     </div>
	  </div>
	</div>
</body>
</html>

  

(2)net.js
//目标点
var aimPoint;
var map;
$(function() {
	 $(document).ready(function() {
         var h = $(window).height(), h2;
         $("#location_map").css("height", h*0.8);
         $(window).resize(function() {
             h2 = $(this).height();
             $("#location_map").css("height", h2);
         });
     });
	//调用微信接口,获取地理位置
	wxReady();
	//点击信息框
	$(".address").on("click", "", function() {
		map.centerAndZoom(new BMap.Point(aimPoint.lng, aimPoint.lat), 15);
		//map.setViewport([ aimPoint ]);
	});

});
function wxReady(){
	wx.ready(function(){
		wx.getLocation({
			success: function (res) {
				var xx = res.longitude; // 经度,浮点数,范围为180 ~ -180。
				var yy = res.latitude; // 纬度,浮点数,范围为90 ~ -90
				findLocation(xx,yy);
			}
		});
	});
}

function findLocation(xx,yy){
	//将微信坐标转换为百度经纬度
	bd_encrypt(yy,xx); //计算后得到百度坐标 longitude latitude
	var points=[];
	//赋值操作
	//$("#name").html("爱乐活");
	//$("#address").html("地址:北京大兴区葛家庄");
	//$("#linkphone").html("电话:06326878663");
	//$("#tel").attr("href","tel:06326878663");
	//$("#phone").html("");
	//目的经纬度
	var destLng = 141.26601;
	var destLat = 30.478838;
	aimPoint=new BMap.Point(destLng,destLat);
	points.push( aimPoint );

	// 百度地图API功能
	map = new BMap.Map("location_map");// 创建Map实例
	map.centerAndZoom(new BMap.Point(longitude,latitude ), 11);
	map.enableScrollWheelZoom();
	map.enableContinuousZoom();

	pt = new BMap.Point(longitude,latitude);
	points.push(pt);
	map.setViewport(points);

	var driving = new BMap.DrivingRoute(map, {renderOptions:{map: map,             autoViewport: false}});
	driving.search(pt, aimPoint);

}

var longitude,latitude;
//处理微信坐标
function bd_encrypt(gg_lat, gg_lon)
{
	var x_pi = 3.14159265358979324 * 3000.0 / 180.0;
	var x = gg_lon; var y = gg_lat;
	var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);
	var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);
	longitude = z * Math.cos(theta) + 0.0065;
	latitude = z * Math.sin(theta) + 0.006;
}

  

时间: 2024-10-11 11:58:55

腾讯地图坐标转百度地图坐标的相关文章

微信开发之附近商家地理位置计算和腾讯地图坐标转百度地图坐标的方法

原文:微信开发之附近商家地理位置计算和腾讯地图坐标转百度地图坐标的方法 腾讯地图坐标转百度坐标 案例:本次开发的系统是一个商家联盟积分系统.在全国各地都有商家联盟的网点. 要求实现的功能 a.微信粉丝通过微信号就能查看附近的商家 b.我的联盟系统统计在2公里之内的商家网点 c.并标出商家和粉丝位置的距离是多少米. d.在商家的详细介绍页面设置百度地图接入步行.公交.驾车一键导航功能 那么现在问题来了: 问题1:在做微信O2O开发的过程中,通过微信地理位置功能事件获得的是腾讯地图坐标.而我们的导航

网页嵌入百度地图和使用百度地图api自定义地图的详细步骤

在网页中插入百度地图 如果想在自己的网页上面加入百度地图的话,可以用百度地图的api.具体使用方法如下: 第一步:进入百度创建地图的网站http://api.map.baidu.com/lbsapi/creatmap/,搜索出自己要展示的位置,如下图所示. 第二步:设置地图,大家可以对网站显示地图的宽高进行设置,其余选项不动. 第三步:添加标注.点击第一个图标后,在右侧找到自己的位置,单击鼠标左键可定位.标记图标处可更换图标形状,名称和备注填入位置相关信息. 第四步:获取代码.将代码贴到你的网页

GPS坐标互转:WGS-84(GPS)、GCJ-02(Google地图)、BD-09(百度地图)(转载)

WGS-84:是国际标准,GPS坐标(Google Earth使用.或者GPS模块)GCJ-02:中国坐标偏移标准,Google Map.高德.腾讯使用BD-09:百度坐标偏移标准,Baidu Map使用//WGS-84 to GCJ-02GPS.gcj_encrypt();//GCJ-02 to WGS-84 粗略GPS.gcj_decrypt();//GCJ-02 to WGS-84 精确(二分极限法)// var threshold = 0.000000001; 目前设置的是精确到小数点后

GPS坐标互转:WGS-84(GPS)、GCJ-02(Google地图)、BD-09(百度地图)

WGS-84:是国际标准,GPS坐标(Google Earth使用.或者GPS模块)GCJ-02:中国坐标偏移标准,Google Map.高德.腾讯使用BD-09:百度坐标偏移标准,Baidu Map使用 //WGS-84 to GCJ-02GPS.gcj_encrypt(); //GCJ-02 to WGS-84 粗略GPS.gcj_decrypt(); //GCJ-02 to WGS-84 精确(二分极限法)// var threshold = 0.000000001; 目前设置的是精确到小

GPS坐标互转:WGS-84(GPS)、GCJ-02(Google地图)、BD-09(百度地图)[转]

WGS-84:是国际标准,GPS坐标(Google Earth使用.或者GPS模块)GCJ-02:中国坐标偏移标准,Google Map.高德.腾讯使用BD-09:百度坐标偏移标准,Baidu Map使用 //WGS-84 to GCJ-02GPS.gcj_encrypt(); //GCJ-02 to WGS-84 粗略GPS.gcj_decrypt(); //GCJ-02 to WGS-84 精确(二分极限法)// var threshold = 0.000000001; 目前设置的是精确到小

GPS坐标转百度地图并且加载地图示例.支持微信端访问

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Wx_VehicleLocation.aspx.cs" Inherits="DTMS.WeiXin.wxmgr.govmgr.Wx_VehicleLocation" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999

PHP腾讯地图经纬度转百度地图经纬度

/** * 中国正常GCJ02坐标---->百度地图BD09坐标 * 腾讯地图用的也是GCJ02坐标 * @param double $lat 纬度 * @param double $lng 经度 */ function Convert_GCJ02_To_BD09($lat,$lng){         $x_pi = 3.14159265358979324 * 3000.0 / 180.0;         $x = $lng;         $y = $lat;         $z =s

地图篇之百度地图各种自定义需求

项目中的对地图的各种需求,实现方式. 需求1:自定义缩放按钮,自定义当前位置按钮 解决方式:隐藏地图本身自带的缩放按钮,添加自定义的缩放按钮,实现点击缩放地图功能 (一). 隐藏地图本身自带的缩放按钮: // 隐藏logo View child = mMapView.getChildAt(1); if (child != null&& (child instanceof ImageView||child instanceof ZoomControls)) { child.setVisibi

Android定位&amp;地图&amp;导航——基于百度地图实现的定位功能

一.问题描述 LBS位置服务是android应用中重要的功能,应用越来越广泛,下面我们逐步学习和实现lbs相关的应用如定位.地图.导航等,首先我们看如何基于百度地图实现定位功能 二.配置环境 1.注册密钥:地址http://developer.baidu.com/map/ 2.下载定位SDK,并导入SDK如图所示: 三.编写MyApplication类 编写MyApplication类,为了使用方便我们可以将实现定位的方法封装的Application组件中 封装下列方法 1.  获取定位信息——