私のGoogleマッププログラムには、座標のみを取得してマップ上にポリラインを作成する単純なKMLパーサーがあり、さらにすべてのポイントで、後でラインを編集するために使用されるマーカーを作成します。ルートが長いと、マップが余分なマーカーからぶら下がります。カーブが 10 度を超える場合にのみマーカーを作成できるのではないでしょうか。今、私はif
2 点ごとにのみスクリーニングされるものを持っていますが、これは弱い考えです。
配列のアンパックの例:
for (var i=0;i<coords.length;i++) {
if(i!=0&&i!=coords.length-1){
var prevpt = new google.maps.LatLng(coords[i-1].lat, coords[i-1].lng);
var pivot = new google.maps.LatLng(coords[i].lat, coords[i].lng);
var nextpt = new google.maps.LatLng(coords[i+1].lat, coords[i+1].lng);
var marker = createMarker(pivot);
polyMarkers.push(marker);
var path = polyLine.getPath();
path.push(pivot);
}
}
次が10度を超える計算方法は?
最適化する方法について、他に考えがあるのではないでしょうか?