必要
APP は Amap の SDK を通じて位置座標を取得し、その座標に対応する中国の住所をページ上に表示します。
方法
- 最終的に必要となるのは元の GPS 座標であるため、それ以外の座標の場合は最初に座標変換を行う必要があります。
- 最終的な GPS 座標から中国の住所を取得します。
// 根据经纬度获取地址信息
private String getAddress(double latitude, double longitude) {
// 坐标转换,这个方法是高德坐标转WGS也就是GPS的方法,如果传进来的就是GPS坐标那就不需要转换
LatLng latLng = MapUtil.convertGCJ2WGS(latitude, longitude);
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
StringBuilder stringBuilder = new StringBuilder();
try {
List<Address> addresses = geocoder.getFromLocation(latLng.latitude, latLng.longitude, 1);
if (addresses.size() > 0) {
Address address = addresses.get(0);
stringBuilder.append(address.getCountryName()).append("-"); //获取国家
stringBuilder.append(address.getAdminArea()).append("-"); //获取省份
stringBuilder.append(address.getLocality()).append("-"); //获取城市
stringBuilder.append(address.getThoroughfare()).append("-"); //获取街道
stringBuilder.append(address.getFeatureName()); //获取门牌号
}
} catch (IOException e) {
e.printStackTrace();
stringBuilder.append("获取地址信息失败");
}
return stringBuilder.toString();
}