13

こんにちは、マップの中心にポリラインを配置できるようにする必要があります

コードの必要な部分だけ...

success: function(data) {//callback to be executed when the response has been received

    data = JSON.parse(data);
    for (var i=0;i<data.length;i++) {
        flightPlanCoordinates[i] = new google.maps.LatLng(data[i].x,data[i].y);
    }
    map = new google.maps.Map(document.getElementById("map_find"),
    mapOptions);
    flightPath = new google.maps.Polyline({
            path: flightPlanCoordinates,
            strokeColor: "#8a2be2",
            strokeOpacity: 1.0,
            strokeWeight: 3
    });

    flightPath.setMap(map);
    map.setZoom(5);
    map.setCenter(flightPlanCoordinates);
}

これは私が必要とすることをしていません..私の地図は中央に配置されておらず、ズームされていません.これを達成するにはどうすればよいですか?

4

1 に答える 1

36

この関数を使用して、パラメーターとしてポリラインを使用して呼び出すことができます。

function zoomToObject(obj){
    var bounds = new google.maps.LatLngBounds();
    var points = obj.getPath().getArray();
    for (var n = 0; n < points.length ; n++){
        bounds.extend(points[n]);
    }
    map.fitBounds(bounds);
}

あれを呼べ:

flightPath.setMap(map);
zoomToObject(flightPath);

マップオブジェクトがグローバル変数であることを確認してください。

于 2012-10-23T09:48:32.377 に答える