lz_lzl
lz_lzl
  • 发布:2015-09-16 17:44
  • 更新:2015-11-25 19:20
  • 阅读:4805

调用百度导航目的地坐标和百度地图坐标一致但是位置不一样.问题很急

分类:HTML5+

木图没真相

如果说是坐标系转换的问题
那么看一下第三个图片 转来都是bd09ll好无语呀

2015-09-16 17:44 负责人:无 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

你代码中转换成bd09是表示百度墨卡托坐标系 你这是要干嘛?
android中的地图默认采用bd09ll

  • lz_lzl (作者)

    我这是让大家看一下这个转换明明写的参数是bd09但是转换后还是bd09ll

    2015-09-16 18:07

DCloud_Android_ST

DCloud_Android_ST

plus.maps.Map.convertCoordinates :
将第三方坐标系坐标转换成当前地图的坐标系坐标。 转换成功通过successCallback返回,转换失败则通过errorCallback返回。
是转换成当前地图的坐标系,不是你填写的bd09。你对这个API理解错了

  • lz_lzl (作者)

    我知道是怎么回事了。我先问一下如何把wgs84转换成bd09ll

    2015-09-17 07:56

  • lz_lzl (作者)

    因为默认的坐标是wgs84的形式。百度导航是db09ll的

    2015-09-17 07:58

  • DCloud_Android_ST

    回复 lz_lzl:plus.maps.Map.convertCoordinates转换bd09ll coordtype 写wgs84

    2015-09-17 11:15

  • lz_lzl (作者)

    convertCoordinates()这个是转成当前的,当前的是wgs84还是bd09ll(其中默认的是wgs84,但是用这个方法执行的输出是bd09ll)

    2015-09-17 11:40

  • DCloud_Android_ST

    百度地图默认是bd09ll

    2015-09-17 11:58

  • lz_lzl (作者)

    意思是说这个内置的地图(当然内置是百度地图)用的是db09ll咯?

    2015-09-17 13:40

  • lz_lzl (作者)

    我发现用这个内置地图的目的地坐标调用第三方导航。跳转的页面的位置和在内置地图上的位置不一致(这个就说明一个问题那就是坐标系不一样)。那么就矛盾了呀。

    2015-09-17 13:43

  • lz_lzl (作者)

    要么就是这个调用第三方的函数出错了(如果两边的地图坐标系一样的话)

    2015-09-17 13:44

  • DCloud_Android_ST

    回复 lz_lzl:你这个坐标怎么获取的定位 还是怎么

    2015-09-17 14:36

  • lz_lzl (作者)

    我找到原因了。

    plus.maps.openSysMap(new plus.maps.Point(116.404, 39.915), '前往',curpos);

    这个方法错误了

    2015-09-17 15:03

  • lz_lzl (作者)

    你可以用一下这给地址是天安门的但是调用后目的地位置就不一样了

    2015-09-17 15:05

  • DCloud_Android_ST

    H5的DEMO是吗 “调用第三方地图” 代码里的经纬坐标写反了,所以第三方地图无法定位到天安门

    2015-09-17 16:08

  • lz_lzl (作者)

    plus.maps.openSysMap();这个函数中的参数的经纬度是wgs84的坐标经纬度,不是bd09ll坐标系的.但是内置的地图是百度地图。所以默认的坐标系是db09ll的。如果想用这函数必须转换一下坐标转成wgs84的(而可笑的是没有百度转成wgs84的方法,因为始终这个方法都是将参数再进行转换成bd09ll,注意是再)。然后在调用这个方法正确。


    针对plus.maps.openSysMap();我试了几遍。都是在进行转换一下(从wgs84到bd09ll),在这里可以方向的那bd09ll的天安门的位置去执行一下这个方法,看一看就知道了

    2015-09-17 17:55

  • 十指间的挥洒

    我也碰到了这个问题,我先试下上面的思路试试

    2015-11-22 13:20

  • 十指间的挥洒

    回复 lz_lzl:兄弟,这个问题你解决了吗?

    2015-11-22 15:19

DCloud_Android_ST

DCloud_Android_ST

openSysMap 只支持GPS坐标 其他坐标不支持,你需要把百度的坐标转换成GPS坐标才行。

  • 十指间的挥洒

    尝试过把百度坐标转换成GPS坐标,精确度稍微好点儿了,但还是没有直接的百度坐标系的坐标精确度高,还是有很大程度上单的偏差,官方能不能考虑能直接传入百度坐标系啊?而不用去转换坐标系,求这个问题排上日程解决一下了,谢谢!

    2015-11-25 18:47

十指间的挥洒

十指间的挥洒

尝试过通过把百度坐标系转化gps坐标系,用js的转化方式,先转化成gcj坐标系,在通过gcj坐标系转化成gps坐标系传入到openSysMap方法里使用,最终出来的结果是,经过两次的转化,精度明显降低了,还是达不到要求,能不能在openSysMap这个方法里改进一下啊

DCloud_Android_ST

DCloud_Android_ST

openSysMap就算修改也是需要GPS坐标转换,精度一样会下降。结果是一样的。
http://developer.baidu.com/map/uri-introandroid.htm?qq-pf-to=pcqq.temporaryc2c 这个会帮你解决问题。

该问题目前已经被锁定, 无法添加新回复