最近很多项目都搭载了地图,同时也看过很多其他App使用地图,这里我就以百度地图为例,地图显示,定位,绘制等问题都是开发基础,实现简单,可见百度地图官方API,这里就不在赘述。
今天主要跳坑坐标问题,因为定位坐标,我们往往通过一些硬件GPS设备获得,得到的都是GPS坐标,而百度有一套自己的坐标系,所以需要一定的坐标转换才能减小误差,当然百度官方已经提供了转换方法,详见:
LatLng latLng = new LatLng(loc.get(i).getLatitude(), loc.get(i).getLongitude());
// 将GPS设备采集的原始GPS坐标转换成百度坐标
CoordinateConverter converter = new CoordinateConverter();
converter.from(CoordinateConverter.CoordType.GPS);
// latLng 待转换坐标
converter.coord(latLng);
LatLng desLatLng = converter.convert();
//将转换后的坐标添加到集合
pts.add(desLatLng);
以下是百度为各个地图坐标转换方法:
百度地图api中有算法
// 将google地图、soso地图、aliyun地图、mapabc地图和amap地图// 所用坐标转换成百度坐标
CoordinateConverter converter = new CoordinateConverter();
converter.from(CoordType.COMMON);
// LatLng待转换坐标
converter.coord(LatLng);
LatLng desLatLng = converter.convert();