2012-04-06 8 views
1

私のgoogle mapsプログラムでは、座標のみを取得してマップ上にポリラインを作成する単純なKMLパーサーがあり、さらにポイントを追加すると、後でその行を編集するために使用されるマーカーが作成されます。より長いルートマップではマーカーの超過からハングアップします。カーブが10度を超える場合にのみ、マーカを作成することができます。今私はifを1秒おきにしか選別していないが、これは弱い考えである。配列を開梱KML座標からマーカーの数を最適化する方法は?

実例:

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度を超えていることを計算する方法は?

あなたはそれがどのように最適化できるか他の考えがありますか?

答えて

関連する問題