[解決済み] Google Maps: 緯度/経度を指定して国、州、地域、都市を取得する方法とは?
2022-05-14 19:31:14
質問
緯度/経度値のコレクションに基づいて、国、州、都市のリストが必要です。この情報を、階層を維持し、重複のない方法で保存する必要があります (たとえば、"USA" と "United States" および "United States of America" は同じ国であり、私のデータベースでこの国のインスタンスは 1 つだけ欲しいです)。
これはGoogle Map APIで行うことが可能ですか?
どのように解決するのですか?
あなたが探しているものは 逆ジオコーディング . Google は、サーバーサイドの逆ジオコーディングサービスを Google Geocoding API を通して、サーバーサイドの逆ジオコーディングサービスを提供しています。
以下のリクエストに対するレスポンスは、このようになります。
http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false
レスポンスです。
{
"status": "OK",
"results": [ {
"types": [ "street_address" ],
"formatted_address": "275-291 Bedford Ave, Brooklyn, NY 11211, USA",
"address_components": [ {
"long_name": "275-291",
"short_name": "275-291",
"types": [ "street_number" ]
}, {
"long_name": "Bedford Ave",
"short_name": "Bedford Ave",
"types": [ "route" ]
}, {
"long_name": "New York",
"short_name": "New York",
"types": [ "locality", "political" ]
}, {
"long_name": "Brooklyn",
"short_name": "Brooklyn",
"types": [ "administrative_area_level_3", "political" ]
}, {
"long_name": "Kings",
"short_name": "Kings",
"types": [ "administrative_area_level_2", "political" ]
}, {
"long_name": "New York",
"short_name": "NY",
"types": [ "administrative_area_level_1", "political" ]
}, {
"long_name": "United States",
"short_name": "US",
"types": [ "country", "political" ]
}, {
"long_name": "11211",
"short_name": "11211",
"types": [ "postal_code" ]
} ],
"geometry": {
"location": {
"lat": 40.7142298,
"lng": -73.9614669
},
"location_type": "RANGE_INTERPOLATED",
"viewport": {
"southwest": {
"lat": 40.7110822,
"lng": -73.9646145
},
"northeast": {
"lat": 40.7173774,
"lng": -73.9583193
}
}
}
},
... Additional results[] ...
また、リクエストURIのjsonをxmlに置き換えるだけで、jsonの代わりにxmlでレスポンスを受け取ることも可能です。
http://maps.googleapis.com/maps/api/geocode/xml?latlng=40.714224,-73.961452&sensor=false
私が知る限り、Google は住所構成要素、特に国名や都市名などの高レベルの名前についても同じ名前を返します。とはいえ、ほとんどのアプリケーションで結果は非常に正確ですが、それでも時折スペルミスやあいまいな結果を見つけることができることを覚えておいてください。
関連
-
[解決済み] Google Maps APIの警告。NoApiKeys
-
[解決済み] Googleマップのtransit_stationにはバスステーションも表示される
-
[解決済み] ReferenceError: googleは定義されていません。
-
[解決済み] Android StudioのデバッグモードでSHA-1フィンガープリント証明書を取得する方法を教えてください。
-
[解決済み] Google Maps APIでマウスのスクロールホイールによる拡大縮小を無効にする方法
-
[解決済み] Google Mapsのマーカーの色を変更するにはどうしたらいいですか?
-
[解決済み] Google MapsのURLでlat-lonに移動するには、どのようなパラメータを使用すればよいですか?
-
[解決済み] 緯度・経度の座標が与えられたら、どのように都市・国を調べればいいのでしょうか?
-
[解決済み] Google Mapsに影響を与えるTwitter BootstrapのCSS
-
[解決済み] Google Maps V3: ストリートビューを無効にする方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Google Maps APIの警告。NoApiKeys
-
[解決済み] Googleマップのtransit_stationにはバスステーションも表示される
-
[解決済み] ReferenceError: googleは定義されていません。
-
[解決済み] google map API 拡大範囲
-
[解決済み] ジオロケーションを利用して都市名を取得する [重複]。
-
[解決済み] Google Maps V3 - 指定した境界線に対するズームレベルの計算方法
-
[解決済み] Google Mapsに影響を与えるTwitter BootstrapのCSS
-
[解決済み] GISサービスにおける緯度・経度タプルの記述順の優先度について
-
[解決済み] Google Maps API - 住所の座標を取得する
-
[解決済み] Google Maps: 緯度/経度を指定して国、州、地域、都市を取得する方法とは?