博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在混合app开发过程中使用百度地图api的出现坐标偏差的解决
阅读量:4614 次
发布时间:2019-06-09

本文共 1496 字,大约阅读时间需要 4 分钟。

在项目中使用ngCordova的$cordovaGeolocation模块获取当前位置经纬度,当展示在百度地图中时发现有误差(我的测试误差为1.7公里左右),查资料发现百度地图经纬度与普通Gps获取的经纬度并不一样,解决办法参考百度开放地图论坛官方贴( )。
我用的是官方给的第二种方式,代码参考如下:
ionic框架,引入<script src="http://api.map.baidu.com/api?v=2.0&ak=你的密钥"></script>
并且在app内注入ngCordova;
controller内的代码如下:
var lat,long;var posOptions = {enableHighAccuracy: true};//设置定位精度$cordovaGeolocation  .getCurrentPosition(posOptions)  .then(function (position) {    var lo=position.coords.longitude;//经度    var la=position.coords.latitude;//纬度    //开始转换坐标(GPS---百度坐标)    $http({      method: 'GET',      url: 'http://api.map.baidu.com/geoconv/v1/?coords='+lo+','+la+'&from=1&to=5&ak=你的秘钥'    }).then(function successCallback(response) {   //转换完成      long=response.data.result[0].x;      lat=response.data.result[0].y;      // 调用百度地图api显示   var map = new BMap.Map("map");      var pPoint = new BMap.Point(long, lat);      map.centerAndZoom(pPoint, 18);      var geoc = new BMap.Geocoder();      var mk = new BMap.Marker(pPoint);      map.addOverlay(mk);geoc.getLocation(new BMap.Point(long, lat), function(rs){  if(rs){    var location=rs.addressComponents;    $scope.myLocation=location.province+location.city+location.district+location.street+location.streetNumber+rs.surroundingPois[0].title;    console.log($scope.myLocation);  }});    }, function errorCallback(response) {      window.alert("转换坐标失败,请检查网络")    });  }, function(err) {    window.alert("获取地理位置失败")  });

以上内容为原创,如有错误,望指出,谢谢

转载于:https://www.cnblogs.com/jihuaqiang/p/6958855.html

你可能感兴趣的文章
CLR via 笔记4.2 类型转换 is 与 as 区别
查看>>
初探C++11之lambda表达式
查看>>
【OpenCV归纳】3 在实例中学习简单函数以及数据读写
查看>>
Rotate Array
查看>>
为什么我要写自己的框架?
查看>>
Virtualbox虚拟机安装CentOS6.5图文详细教程(zhuan)
查看>>
Jump Game II
查看>>
solr学习笔记二-------solr query查询的参数
查看>>
常用的内置模块
查看>>
[Flex] 组件Tree系列 —— 实现右键拓展功能
查看>>
《走近心理学》第二章之心理学的生物学理论
查看>>
【前端重构技能天赋】(三)——最终篇
查看>>
Linux cpuinfo 查看cpu信息详解(转载)
查看>>
iPhone 相册取出视频宽高分辨率是相反的 解决方案
查看>>
Python第一天---第一个Python程序
查看>>
Mybatis异常:java.lang.NumberFormatException: For input string: "S"
查看>>
PYTHON文件操作(二)
查看>>
Objective-C RunTime 学习笔记 之 消息转发流程
查看>>
Django在根据models生成数据库表时报 __init__() missing 1 required positional argument: 'on_delete'...
查看>>
查看jks文件中的签名
查看>>