web-dev-qa-db-ja.com

Google Map API 3で米国の州と都市の境界を強調表示

境界線を強調表示し、ジオコーディング後に州または都市に影を付けなければならないシナリオがあります(langとlatを取得したとき)。

これを行うにはどうすればよいですか?ポリラインで都市を囲むには、都市の完全な情報が必要ですか?または、map APIがこれを行う方法があります。

18
Tahir Akram

そうだね。 Googleはこの機能を提供していません。だから私たちができること...私たちは州の境界の緯度/経度を持つことができます。そして、自分でポリゴンを描く必要があります。

私は this JSオブジェクトを使用しました。そして、それをGoogleマップオブジェクト(google.maps.LatLng)。

例えば:

var statesobj = {"AK": [new google.maps.LatLng(70.0187, -141.0205),
new google.maps.LatLng(70.1292, -141.7291),
new google.maps.LatLng(70.4515, -144.8163)]}

だから、今は簡単です。これらの緯度/経度でループします。そして、あなたは米国のすべての州でポリゴンを描くことができます。

これが私が思いついた解決策です。あなたがそれを行うためのより良いアイデアを知っているなら。共有してください。

10
Tahir Akram

Google Geo Chartsを試すこともできます。

http://code.google.com/apis/chart/interactive/docs/gallery/geochart.html

10
Renato

Google Maps APIでは、都市の境界線を取得することはできません。ただし、座標を取得できる場所は他にもいくつかあります。

Flickr API

人々がタグ付けした写真に基づいたFlickr APIがありますが、それは写真にタグを付けた人々と同じくらい正確です。そのため、ブートストラップには十分ですが、おそらくプロダクションには適していません: http://karya-blog.blogspot。 com/2012/12/fetching-city-polygons-with-flickr-api.html

自然地球データ

正確な代替案はwww.naturalearthdata.comです。そこからデータを取得するには、2つのリクエストを行う必要があります。1つは都市名を使用し、もう1つはパラメーターを取得するためのIDを使用します。

unlock.edina.ac.uk/ws/search?name=berlin&gazetteer=naturalearth&format=json

その後

unlock.edina.ac.uk/ws/footprintLookup?format=json&identifier=14126951

そしてあなたは設定されています:)

Mapzen

データをプリフェッチすることが可能な場合は、Mapzenを使用してください。完全で非常に正確なデータベースが用意されています。 https://mapzen.com/data/borders/

5
Wojtek Szkutnik

恐れ入りますが、Google Maps APIは地域(国、州、都市など)の形状にアクセスする手段を提供していません。

領域を強調表示する場合は、他の場所で取得したデータに基づいてカスタムオーバーレイを作成する必要があります。

0
Tomik

これで、基本的なマップの例には"mashup"のデータが含まれています。識別データがWebサービスに供給されると、結果の出力はマップ上の場所を特定できます。特定の場所を特定するために、地図上に地理的マップマーカーを配置する方法を示しています。マップマーカーは、デフォルトのアイコン(表示)またはカスタム画像、ゲージ、またはグラフを使用できます。オプションで、マーカーをクリックすると、追加の場所固有のデータを含むマップマーカー情報ウィンドウを表示するようにマップを構成できます。

これには、たとえばワシントンDCの地図にオーバーレイされたデータ駆動型の色付き領域(この場合は郵便番号を表す)が含まれています。 Logi Infoは、GIS境界データと連携して、州、郡、都市、学区、およびその他の地域の地域オーバーレイを作成できます。マップマーカーと同様に、領域をクリックすると、詳細データを含むポップアップ情報ウィンドウが表示されます。

0
ToolFan