Geolocation获取当前位置的经纬度在百度地图中就是比google地图中精确的原因 .
来源:互联网 发布:手机啤酒是什么软件 编辑:程序博客网 时间:2024/05/17 02:32
同样的Geolocation中经纬度百度地图就是比google地图精确,原因是GCJ-02,原来就是他影响google地图定位的精确性,都是它惹的祸。
我承认我知道的太多了,感谢国家感谢党。
百度地图位置服务源码如下:
html
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <style type="text/css">
- body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;}
- #l-map{height:100%;width:78%;float:left;border-right:2px solid #bcbcbc;}
- #r-result{height:100%;width:20%;float:left;}
- </style>
- <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
- <title>浏览器定位</title>
- </head>
- <body>
- <div id="allmap"></div>
- </body>
- </html>
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style type="text/css">body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;}#l-map{height:100%;width:78%;float:left;border-right:2px solid #bcbcbc;}#r-result{height:100%;width:20%;float:left;}</style><script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script><title>浏览器定位</title></head><body><div id="allmap"></div></body></html>
Javascript
- <script type="text/javascript">
- var map = new BMap.Map("allmap");
- var point = new BMap.Point(121.473754,31.23037);
- map.centerAndZoom(point,20);
- var geolocation = new BMap.Geolocation();
- var gc = new BMap.Geocoder();
- geolocation.getCurrentPosition(function(r){
- if(this.getStatus() == BMAP_STATUS_SUCCESS){
- var mk = new BMap.Marker(r.point);
- map.addOverlay(mk);
- map.panTo(r.point);
- alert('您的位置:'+r.point.lng+','+r.point.lat);
- var pt = r.point;
- var message = "";
- gc.getLocation(pt, function(rs){
- var addComp = rs.addressComponents;
- alert(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber);
- var opts = {
- width : 250, // 信息窗口宽度
- height: 50, // 信息窗口高度
- title : "当前位置:" // 信息窗口标题
- }
- var infoWindow = new BMap.InfoWindow(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber, opts); // 创建信息窗口对象
- map.openInfoWindow(infoWindow,r.point); //开启信息窗口
- mk.addEventListener("click", function(){map.openInfoWindow(infoWindow,r.point);});
- });
- }
- else {
- alert('failed'+this.getStatus());
- }
- })
- map.enableScrollWheelZoom(true);
- map.addControl(new BMap.ScaleControl()); // 添加默认比例尺控件
- map.addControl(new BMap.NavigationControl()); //添加默认缩放平移控件
- //关于状态码
- //BMAP_STATUS_SUCCESS 检索成功。对应数值“0”。
- //BMAP_STATUS_CITY_LIST 城市列表。对应数值“1”。
- //BMAP_STATUS_UNKNOWN_LOCATION 位置结果未知。对应数值“2”。
- //BMAP_STATUS_UNKNOWN_ROUTE 导航结果未知。对应数值“3”。
- //BMAP_STATUS_INVALID_KEY 非法密钥。对应数值“4”。
- //BMAP_STATUS_INVALID_REQUEST 非法请求。对应数值“5”。
- //BMAP_STATUS_PERMISSION_DENIED 没有权限。对应数值“6”。(自 1.1 新增)
- //BMAP_STATUS_SERVICE_UNAVAILABLE 服务不可用。对应数值“7”。(自 1.1 新增)
- //BMAP_STATUS_TIMEOUT 超时。对应数值“8”。(自 1.1 新增)
- </script>
<script type="text/javascript">var map = new BMap.Map("allmap");var point = new BMap.Point(121.473754,31.23037);map.centerAndZoom(point,20);var geolocation = new BMap.Geolocation();var gc = new BMap.Geocoder(); geolocation.getCurrentPosition(function(r){ if(this.getStatus() == BMAP_STATUS_SUCCESS){ var mk = new BMap.Marker(r.point); map.addOverlay(mk); map.panTo(r.point); alert('您的位置:'+r.point.lng+','+r.point.lat);var pt = r.point;var message = "";gc.getLocation(pt, function(rs){var addComp = rs.addressComponents;alert(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber);var opts = { width : 250, // 信息窗口宽度 height: 50, // 信息窗口高度 title : "当前位置:" // 信息窗口标题}var infoWindow = new BMap.InfoWindow(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber, opts); // 创建信息窗口对象map.openInfoWindow(infoWindow,r.point); //开启信息窗口mk.addEventListener("click", function(){map.openInfoWindow(infoWindow,r.point);});}); } else { alert('failed'+this.getStatus()); } })map.enableScrollWheelZoom(true);map.addControl(new BMap.ScaleControl()); // 添加默认比例尺控件map.addControl(new BMap.NavigationControl()); //添加默认缩放平移控件//关于状态码//BMAP_STATUS_SUCCESS检索成功。对应数值“0”。//BMAP_STATUS_CITY_LIST城市列表。对应数值“1”。//BMAP_STATUS_UNKNOWN_LOCATION位置结果未知。对应数值“2”。//BMAP_STATUS_UNKNOWN_ROUTE导航结果未知。对应数值“3”。//BMAP_STATUS_INVALID_KEY非法密钥。对应数值“4”。//BMAP_STATUS_INVALID_REQUEST非法请求。对应数值“5”。//BMAP_STATUS_PERMISSION_DENIED没有权限。对应数值“6”。(自 1.1 新增)//BMAP_STATUS_SERVICE_UNAVAILABLE服务不可用。对应数值“7”。(自 1.1 新增)//BMAP_STATUS_TIMEOUT超时。对应数值“8”。(自 1.1 新增)</script>
百度地图api
- setTimeout(function(){
- BMap.Convertor.translate(ggPoint,2,translateCallback); //GCJ-02坐标转成百度坐标
- }, 2000);
0 0
- Geolocation获取当前位置的经纬度在百度地图中就是比google地图中精确的原因
- Geolocation获取当前位置的经纬度在百度地图中就是比google地图中精确的原因 .
- Geolocation获取当前位置的经纬度在百度地图中就是比google地图中精确的原因
- 百度地图api 获取当前位置经纬度。自驾俩点间的路线。
- 地图应用之 :获取当前位置的经纬度
- 在网页中通过百度地图查看某地的经纬度
- 百度地图在Activity中以最简单的配置获取定位坐标字符串和经纬度
- 在页面中引入百度地图API的步骤以及Geolocation简单的使用
- 02 使用百度地图获得当前位置的经纬度
- 使用html5获取当前手机的经纬度,并接入百度地图API,查询出当前位置
- 使用html5获取当前手机的经纬度,并接入百度地图API,查询出当前位置
- 百度地图最新版本sdk使用系列(八)-获取当前地图中心点的经纬度并计算与当前位置的距离
- 如何在google地图中获得经纬度
- Google地图的经纬度
- 百度地图--获取对角线的经纬度
- 百度地图:获取地址的经纬度
- HTML5 调用 GPSAPI 获取当前位置的坐标 显示在地图上(有包括百度地图与谷歌地图)
- Android中使用百度地图无法将地图移动到当前位置的问题
- 开博之文
- 颜色识别
- 工作日志2014-08-22
- 排序
- opnet中关键概念
- Geolocation获取当前位置的经纬度在百度地图中就是比google地图中精确的原因 .
- XDOJ1281 - aqx的烦恼
- 机器学习中的相似性度量
- 在Linux下安装jdk、mysql、ant、tomcat详解
- Bootstrap3.0学习第八轮(工具Class)
- Python模块学习——logging
- Python使用struct处理二进制 解析二进制数据 解析socket数据
- SIMPLE WAYS TO SPLIT CURSOR INTO ROWSET DML
- springmvc 定时器