現在のユーザーの場所の郵便番号を場所または緯度または経度から取得する方法はありますか?もしそうなら、どのように?
3 に答える
Android Geocoder APIを使用してください!
getFromLocation(double、double、int)が必要なすべてです。
はい、できます...あなたがする必要があるのは抽出することだけです
http://maps.google.com/maps/geo?ll=緯度、経度
http://maps.google.com/maps/geo?ll=10.345561,123.896932
または、このソリューションを試してみてください。私はあなたにアイデアを与えることができます。
あなたは都市を持つことができますか?このjsonデータを使用して、この形式の郵便番号のデータベース(maxmind.com)がある場合
国コード| 市| 郵便番号
PH|セブ|6000
次に、Googleが返す国コードに関連するデータベースをクエリします。
アップデート
Geocoding API v2は、2013年9月9日に却下されました。
これがAPIサービスの新しいURLです
http://maps.googleapis.com/maps/api/geocode/json?latlng=your_latitude,your_longitude
http://maps.googleapis.com/maps/api/geocode/json?latlng=10.32,123.90&sensor=true
ジオコーダーベースの実装:
private String getZipCodeFromLocation(Location location) {
Address addr = getAddressFromLocation(location);
return addr.getPostalCode() == null ? "" : addr.getPostalCode();
}
private Address getAddressFromLocation(Location location) {
Geocoder geocoder = new Geocoder(this);
Address address = new Address(Locale.getDefault());
try {
List<Address> addr = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
if (addr.size() > 0) {
address = addr.get(0);
}
} catch (IOException e) {
e.printStackTrace();
}
return address;
}
都市名など、住所から他の情報を取得することもできます。