20

デフォルトでは、イリノイ州シカゴを地図の中心にする方法の例が Google によって提供されています。

var chicago = new google.maps.LatLng(41.850033, -87.6500523);

デフォルトのセンター フォーカスを米国全体にすることは可能ですか? これはどこにも見つかりません。

4

6 に答える 6

17

シカゴを中心として、を変更しzoomます。

ここに例があります。少し作り直されたバージョン(テストされていません!):

gMap = new google.maps.Map(document.getElementById('map')); 
gMap.setCenter(new google.maps.LatLng(41.850033, -87.6500523));
gMap.setZoom(ANewZoomLevel);

ニーズに合った適切なズームレベルを見つけるために実験する必要があります。

于 2012-12-09T07:43:42.410 に答える
9

1 つのオプションは、ジオコーダーを使用することです。"United States of America"をジオコーディングすると、マップの中央に配置してズームするために使用できる "推奨ビューポート" が返されます。

"viewport": {
  "Z": {
    "b": 25.82,
    "d": 49.38
  },
  "ca": {
    "b": -124.38999999999999,
    "d": -66.94
  }
}

ジオコーダが返す中心/場所は次のとおりです。37.09024, -95.712891

に変換します。

"viewport": {
  NorthEast: { lat:49.38, lng:-66.94 },
  SouthWest: { lat:25.82, lng:-124.39 }
}

フィドル

境界と推奨ビューポートという 2 つの類似した情報があります。範囲にはアラスカとハワイが含まれていると思いますが、ビューポートの方がニーズに適しているかもしれません.

最も簡単な方法は、手動でマップを中央に配置し、好きなようにズームしてから、getCenter() と getZoom() を使用して現在の値を取得し、それらを使用してマップを初期化することです。

以下は、ジオコードを使用してドロップダウン リストから国にズームする例です(ビューポートではなく、境界を使用します。米国の場合は異なります)。

于 2012-12-09T08:08:44.093 に答える
4

ズームはデバイスの幅に依存するため、境界に合わせるのが最適です。あるデバイスで見栄えがよくても、別のデバイスでは大きすぎたり小さすぎたりします。したがって:

var bounds = new google.maps.LatLngBounds(
  new google.maps.LatLng(25.82, -124.39),
  new google.maps.LatLng(49.38, -66.94)
);

map.fitBounds(bounds);
于 2015-02-21T21:20:55.037 に答える