web-dev-qa-db-ja.com

州/地方の地理的境界-> Google Maps Polygon

ボタンとクリックイベントに基づいて、Googleマップで特定の米国の州とカナダの州を動的に強調表示するWebアプリケーションを作成しています。

プランA)ポリゴン

これに対する私の第一のアイデアは、ポリゴンを描くことでした。このために、すべての州と州のアウトライン(時計回りまたは反時計回り)の座標(緯度+経度)のリストが必要です。政府のWebサイトでは、あらゆる種類のフォーマット(E00など)を見つけましたが、これらのフォーマットを座標の単純なリストに変換するのに苦労しています。これを使用して、マーカーやマップ上のポリゴンを作成できます。これらの座標を取得するためのヒントはありますか?

プランB)オーバーレイ

私の知る限り、Googleマップでオーバーレイを使用すると、ズームインするとピクセル化されます(またはSVGをオーバーレイできますか?) Googleマップでもそれは可能ですか、それとも非常に遅くなりますか?

これは地図用のAPIを使用する人々にとって非常に一般的なタスクだと思うので、州や県を強調表示する簡単な方法がないことに少し驚いています。

前もって感謝します

35
motto

米国の州のポリゴン用のXMLがあります ここthis のように使用します。

ロード時間を短縮し、遅いブラウザーでも適度に反応するマップを作成するために、意図的に詳細をかなり軽くしました。

カナダには何もありません。

76
Mike Williams

提供されたXMLを使用して、50州、ワシントンDC、カナダの州の大まかな概要を含む辞書でJSONファイルを作成し、SaltyNutsのコメントに加えて、カナダには何も持たないというマイクウィリアムズのメモに対処します json

BirdThemeのこの便利なオンラインツール は、さまざまな詳細レベルを必要とする他の人のために州のポリゴンを描画したり、独自の座標セットを作成したりするために使用していました。

5
northcott-j

古い質問ですが、Googleのウェブサイト https://developers.google.com/kml/documentation/us_states.kml から、米国の州境ごとに詳細なポイントのセットを取得できます。

ただし、xmlを少し解析する必要があります。

0
artemisian

カナダの州の情報はこちらです。 Googleマップリンクから最初のGPS座標のみをコピーしました。

/**
 * Searched for Alberta, Canada and copied the first thing after the @ sign
 * @see https://www.google.bg/maps/place/Yukon+Territory,+Canada/@64.5610006,-141.332713,5z/data=!3m1!4b1!4m5!3m4!1s0x51178198b4528b89:0x2e149cd561cc96ea!8m2!3d64.2823274!4d-135?hl=en
 * @var array
 */
$provinces_gps = array(
    "AB" => "54.1784838,-123.9541477",
    "BC" => "53.8348151,-135.5103986",
    "MB" => "54.1798816,-104.4465713",
    "NB" => "46.2679312,-68.6551949",
    "NL" => "53.1668149,-69.1783083",
    "NT" => "68.4817407,-136.7732486",
    "NS" => "45.2906308,-65.2759181",
    "NU" => "63.5954344,-124.1555502",
    "ON" => "48.9347914,-93.7155729",
    "PE" => "46.5031512,-63.7525627",
    "QC" => "53.4650568,-77.3895206",
    "SK" => "54.1797758,-114.6389862",
    "YT" => "64.5610006,-141.332713",
);
0