0

編集可能なポリラインの頂点を移動するときに情報ウィンドウを表示したいと思います。この情報は、ポリライン上の前の頂点までの距離と進行方向を示します。頂点をドロップしたら、情報ウィンドウを閉じる必要があります。問題は、ポリラインに頂点上のドラッグ イベントがないことです。polyline の mousemove で試してみますが、移動が終了した後に起動されます。次のコードでは、私が言ったことの例を示します。ポリライン (flightPath) があります。最後の頂点をクリックすると、同時にマーカーを移動したいと思います。しかし、うまくいきません。移動終了後、マーカーを移動します。

google.maps.event.addListener(flightPath, 'mousemove', function (event) {
   if (typeof event.vertex === "undefined") {
        moveline = 0
   }
   else {
       if (event.vertex == (flightPath.getPath().getLength()-1)) {
            var path = flightPath.getPath();
            marker.setPosition(path.getAt(event.vertex));
       }
   }
});

いくつかの提案?

注: 私のポリラインは編集可能です。

ありがとう

4

1 に答える 1

0

マーカーのドラッグ終了イベントを管理し、頂点の緯度経度を変更できます。

google.maps.event.addListener(marker, 'dragend', function(evt){

var vertex = marker.get('vertex');

var path = flightPath.getPath();

var newPath = Array.prototype.slice.call(path).filter(
function(element, index){
    return index < vertex;
}).concat([evt.latLng],
Array.prototype.slice.call(path).filter(
function(element, index){
    return index > vertex;
}));
flightPath.setPath(newPath);


});

英語が下手で申し訳ありませんが、お役に立てば幸いです。

于 2014-06-24T11:18:56.973 に答える