失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Android开发高德地图定位中GPS坐标转换

Android开发高德地图定位中GPS坐标转换

时间:2023-09-28 13:36:50

相关推荐

Android开发高德地图定位中GPS坐标转换

这两天因为需要开始接触地图开发的内容,所以开始搜索有没有一些好的第三方地图,现在市面上大多数使用的都是百度地图,而谷歌地图因为一些原因,在国内无法提供服务,虽然百度地图的UI比较友好,定位更加准确,但是由于我使用的开发环境是Android studio,而百度地图更适合Eclipse的开发者,所以我选择高德地图。

但是我将蓝牙模块中的GPS坐标传入APP中发现效果与预期的有很大偏差,经过查找资料才了解高德地图用的并不是GPS坐标,经过查找资料,地图坐标大致分为几种:

1、GPS、WGS84,也就是原始坐标体系,这是国际公认的世界标准坐标体系;

2、GCJ-02,又称为“火星坐标”,国家测绘局在02年发布的坐标体系,在国内,使用此坐标体系的有很多,比如:google、高德等;

3、其他特殊坐标体系,一般都是由火星坐标通过偏移算法计算得出的,比如百度使用的是BD-09坐标,搜狗使用的是自己的搜狗坐标。

其实通过搜索高德地图的API文档也能了解,在com.amap.api.maps2d.CoordinateConverter.CoordType包中介绍了坐标的类型,

CoordinateConverter类中进行坐标转换

LatLng mark=null;// double lat=39+50.3856/60.0; 这是传入的GPS坐标,由于分为度和分,所以进行换算//double lon=116+11.2714/60.0;double lat=39.846195;这是从百度地图获得的数据double lon=116.16;CoordinateConverter converter=new CoordinateConverter();converter.from(CoordinateConverter.CoordType.BAIDU); 设定要转换的坐标类型,如果是GPS坐标就是.GPS);try {converter.coord(new LatLng(lat,lon));mark=converter.convert();}catch (Exception e){}Marker marker = aMap.addMarker(new MarkerOptions()在地图上标注出来.position(mark).title("定位器").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)).draggable(true));}

经过坐标转换,地图经度大大提高,希望能对大家的学习提供帮助,我也是刚开始学习android,如果写的不全面,希望能提出指正。

如果觉得《Android开发高德地图定位中GPS坐标转换》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。