2016-09-06 5 views
-1

私は、情報ウィンドウで複数のマーカーを含むマップを持っています。すべてのマーカーの周りにsetboundを使用してマップを中央に配置する方法が必要です。すべてのマーカーが表示されるようにします。setboundsを使用してマーカーを中央に配置する方法

は、ここに私のコードです: https://jsfiddle.net/nickbuus/kzsetxke/

私はこのためsetboundsを使用する方法の例見てきた - しかし、私はループを使用していたとき、私はどこマップの境界を設定する方法がわからないと思います。ここに私のループは次のとおりです。

for (var i = 0; i < locations.length; i++) { 
    gmarkers[locations[i][0]] = 
    createMarker(new google.maps.LatLng(locations[i][3], locations[i][4]),  locations[i][1] + "<br>" + locations[i][2]); 

答えて

3

あなたは新しいgoogle.maps.LatLngBoundsを作成して、マーカーを作成しながら、このように、getPosition()方法を使用して、マーカーの位置で、この境界を拡張することができます。

// Create bounds  
var bounds = new google.maps.LatLngBounds(); 

// Create marker for each location 
for (var i = 0; i < locations.length; i++) { 
    var m = createMarker(new google.maps.LatLng(locations[i][3], locations[i][4]), locations[i][1] + "<br>" + locations[i][2]); 
    gmarkers[locations[i][0]] = m; 

    // Extend bound by the marker position 
    bounds.extend(m.getPosition()); 
} 

// Fit map 
map.fitBounds(bounds); 

ここであなたのオリジナルのフィドルがあります前述の変更https://jsfiddle.net/tez50m5t/

関連する問題