0

重複の可能性:
マップを中央に配置し、画面上のマーカーに合わせてズーム

Google マップを使用するアプリを作成しています。アプリは複数のポイントをマップに追加します。これらの複数のポイントが追加された後、これらのポイントにマップの焦点を合わせたいのですが、方法がわかりません。

これまでのところ、私の傾向は次のことです。

  1. ポイントを追加するときは、最小経度、最大経度、最小緯度、最大緯度を追跡します
  2. 平均経度、平均緯度を計算する

だから..これで、地図の中心を見つける方法がわかりました。

ズームの計算方法を知っている人はいますか?

4

2 に答える 2

3

場所を空のgoogle.maps.LatLngBoundsオブジェクトに追加します。

結果の境界でgoogle.maps.Map.fitBoundsを呼び出します。

疑似コード (テストされていません。マーカーが gmarkers という名前のスコープ内の配列にあると想定し、google.maps.Map オブジェクトが "map" と呼ばれていると想定しています):

var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < gmarkers.length; i++) 
{
   bounds.extend(gmarkers[i].getPosition());
}
map.fitBounds(bounds);
于 2013-02-04T21:23:36.663 に答える
0

事前にポイント(マーカー)を知っている場合は、すべての中心となるポイントをsetCenterマーカーポイントとして設定し、残りをマーカーとして設定してZoomlevelを設定します。

事前にポイントがわからず、場所(特定の州、郡、地域など)がわからない場合は、中心点を取得してその緯度/長さを取得し、そのポイントをsetCenterマーカーポイントとして設定し、それに応じてズームレベルを設定してマーカーを追加します(ポイント)。

于 2013-02-04T21:26:40.470 に答える