3

js fiddle に小さなスニペットをまとめたので、私が何を扱っているかがわかります。

基本的に、「ズーム」ボタンを接続して、パスが作成されたらズームボタンをクリックすると、マップがパスに合わせてズームできるようにしようとしています。私が見つけたすべての答えは、私が持っていないマーカーの配列を持つことで機能します。どんな提案でも大歓迎です。

http://jsfiddle.net/A3NBZ/

4

2 に答える 2

8

実際、マーカーの配列がありますPolylineユーザーがマップをクリックすると、作成している に保存されます。ユーザーがクリックしたポイントを取得するには、単純に を使用しますPolyline.getPath()。次に、それらのポイントを (geocodezip で述べたように)LatLngBoundsオブジェクトに追加google.maps.Map.fitBounds()し、指定された境界にマップ ビューを調整するために使用できます。

これは、提供したコード例に基づいた zoom メソッドの簡単な実装です (ここで動作することがわかります)。

function zoom() {
  var bounds = new google.maps.LatLngBounds();
  geodesic.getPath().forEach(function(latLng) {
    bounds.extend(latLng);
  });
  map.fitBounds(bounds);                    
}
于 2012-10-01T21:10:09.943 に答える
0

マーカーで見た例と同様に、パス内のすべての google.maps.LatLngs を google.maps.LatLngBounds オブジェクトに追加し (bounds.extend() を使用)、結果の境界オブジェクトで map.fitBounds を呼び出します。

更新されたjsfiddle

于 2012-10-01T18:33:37.367 に答える