高德地图现在国内支持的还挺好的,但是对于国外支持就不行了,没有详细的地点信息。在使用GPS坐标转化的时候要注意:国内和国外处理是不一样,国内需要转换,国外GPS坐标可以直接使用的。
1 官方转化方法:
支持GPS/Mapbar/Baidu等多种类型坐标在高德地图上使用。参见类CoordinateConverter。
CoordinateConverter converter = new CoordinateConverter();
// CoordType.GPS 待转换坐标类型
converter.from(CoordType.GPS);
// sourceLatLng待转换坐标点 DPoint类型
converter.coord(sourceLatLng);
// 执行转换操作
DPoint desLatLng = converter.convert();
2 国内外判断方法:
CoordinateConverter类提供的isAMapDataAvailable(double latitude,double longitude)接口可以用来判断指定位置是否在大陆以及港、澳地区。
自2.2版本isAMapDataAvailable(double latitude,double longitude)方法参数进行了调整,第一个参数传纬度,第二个参数传经度;
CoordinateConverter converter = new CoordinateConverter();
//返回true代表当前位置在大陆、港澳地区,反之不在。
boolean isAMapDataAvailable = converter.isAMapDataAvailable(latitude,longitude);
//第一个参数为纬度,第二个为经度,纬度和经度均为高德坐标系。
3 注意
使用 CoordinateConverter 它时要注意(也是个坑),com.amap.api.location包下有 isAMapDataAvailable()方法,不要误用了 map包下的哦...
重要的事情要再说一遍:使用高德地图要注意判断使用地点是否是大陆或港澳地区(需要地图国际化的 一定要注意哦);