これに関連する以前の質問はすべてV2に関連していますが、これは役に立たないものです。Google Maps Polyline - どうすれば削除できますか?
だから、私は、二つのマーカーを作成
[「から」]マーカー[「と」]とマーカーとして配列にそれらを保存してブリリアントこの
function route(){
for(var key in markers) {
flightPlanCoordinates.push(markers[key].position);
}
flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2
});
flightPath.setMap(map);
}
でそれらを追加します。 しかし、次回は(配列の新しいマーカーで)それを使用すると、以前のポリラインを削除せずにそこにポリラインが追加されます。 私は、最初の配列、flightPath、setMap(null)などを削除して、すべてを試したようです。
新しい行を作成する前に前の行を削除する正しい方法はありますか?
EDIT: ソリューションを解決し
function route(){
var flightPlanCoordinates = [];
for(var key in markers) {
flightPlanCoordinates.push(markers[key].position);
}
if(flightPath) {
flightPath.setPath(flightPlanCoordinates);
} else {
flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2
});
flightPath.setMap(map);
}
}
理由: flightPlanCoordinatesは範囲内で初期化する必要があり、これは適切にそれを掃除、配列にそれが使用されるたびにリセットされます。 (また、コードは少しよりよい作るために、以下の入力に感謝。
あなたはこのプロジェクトの作業のリンクを共有することができますが非表示になりますか?ローカル航空会社と同様のことをやっています。 – andufo