2016-05-13 12 views

答えて

1

map.fitBounds(my_bounds)関数があります。この関数は、指定された境界を含むようにビューポートを設定します。可能な限り高いズームレベルにマップを設定し、境界全体を見ることができます。

そのためには、ポリゴンの境界を特定する必要があります。 google.maps.Polygonを使用してポリゴンを表示する場合は、this solutionをチェックしてください。

は、この場合、あなたは持っているでしょう:あなたはポリゴンを表示するために Data layerを使用している場合は、 this SO answerをチェックアウト

google.maps.Polygon.prototype.getBounds = function() { 
    var bounds = new google.maps.LatLngBounds(); 
    var paths = this.getPaths(); 
    var path;   
    for (var i = 0; i < paths.getLength(); i++) { 
     path = paths.getAt(i); 
     for (var ii = 0; ii < path.getLength(); ii++) { 
      bounds.extend(path.getAt(ii)); 
     } 
    } 
    return bounds; 
} 

... 
map.fitBounds(my_polygon.getBounds()); 

。ポリゴンの場合は、Data.Featureの範囲を計算する方法の例を示します。あなたは、多角形の境界を決定するためのいくつかの他の手段を持っている場合は

、そしてちょうどこれを使用する:

map.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(SouthWestCornerLat, SouthWestCornerLng), new google.maps.LatLng(NorthEastCornerLat, NorthEastCornerLng)); 
+0

パーフェクト。ありがとうございます ! –

関連する問題