0

マップ座標の配列を返すphp関数があります。

次に、それらをGoogleマップに配置しようとしています

    for (var i=0; i<coords.length; i++) {
        var via = new google.maps.LatLng(coords[i][1], coords[i][2]);
    };

ここで、via は緯度と経度、coords[i][1]、coords[i][2] は php 配列から取得されます。

このメソッドは、関数の実行時に配列の最後の値のみをマップに書き込みます。配列全体を生成するために必要です。

次に、配列の最後の値のみを取得し、配列のループが終了したときにそれを変数「end」にドロップする必要があります。

****も試しました

  var via = [];
    for (var i=0; i<coords.length; i++) {
        via.push([new google.maps.LatLng(coords[i][1], coords[i][2])]);
    };

   var via = [];
    for (var i=0; i<coords.length; i++) {
        var viaPoints = new google.maps.LatLng(coords[i][1], coords[i][2]);
        via.push([viaPoints]);
    };
4

1 に答える 1

3

書かれたループは毎回上書きviaされるため、最後の値になります。代わりに、ループ内のマップにマーカーを追加してみてください。(質問の2番目の部分についてはend=via、ループが完了した後に設定してください。)

for (var i=0; i<coords.length; i++) {
    var via = new google.maps.LatLng(coords[i][1], coords[i][2]);

    // add marker to the map here, eg ....
    map.addOverlay(new GMarker(via));
};

var end = via;

(ご存じない場合は、Maps API サイトに役立つがいくつかあります。)

于 2013-06-16T02:52:04.820 に答える