2

私は、Googleのapiの方向でわずか8ウェイポイントを追加することが可能であることを発見しました、あなたはこの制限をバイパスする方法を知っていますか?私は方向apiを表示しようとしましたが、このアイデアをあきらめました。今私のソリューションは独自のポリラインに基づいており、クリックするたびにそのラインに固執すべきマーカが追加され、ドラッグしながら移動する必要があります。マーカ付きのポリラインが8ポイント以上ある場合、互換性はなくなります。多分私のアプローチは完全に悪いですか?これを修正するには?無限のポリラインをgoogleの方向に作り、ドラッグ可能なマーカーをラインに合わせるにはどうすればいいですか?

現在コード:jsfiddle

マーカーがポリライン上にない:ブロックの中央に配置されたマーカーを回避する

enter image description here

+1

はい、1つのマップに複数のDirectionRendernersをソリューションレンダリングしました。 http://80rowerow.101.stこのソリューションでは、8ウェイポイントに限定されず、道路の再計算が非常に高速です。これはあなたの要求を満たしていますか? – hamczu

+0

この概念ははるかに優れています。ありがとう。 – roza

答えて

1

上記のコードを適用し

、私の解決策は、それぞれの間DirectionRendernerをレンダリング作成することでもポリラインの先頭に配置された最初のマーカーを変更する必要があります(マーカー付き?)重要なウェイポイント:正確にORIGのように見える http://jsfiddle.net/9T7Vg/

  • ドラッグ可能なマーカー直ちに計算とinalもの
  • ドラッグポリライン
  • 文字(A、B、等)と
  • カスタムマーカー - これは長い距離で
  • 経路計算が困難であったがはるかに高速であり、8つの以上のウェイポイントを有することができる
  • 経路

このソリューションは、実際には、特に長距離のルートでは、Googleマップのオリジナルよりも優れています(自動化するスクリプトを改善して、マーカー間に9番目のウェイポイントを配置したい場合)。

+0

私はあきらめる私は道にマーカーを調整する方法を知らない。 – roza

+1

oo、あなたは真正なマーカーが道にしか置けないのですか?私が見ることができるように、彼らはどこにでも置かれますが、ルート計算後、彼らは最も近い道路に移動されます。興味深い - 私はあなたが望むならそれを修正しようとしますが、実際にはこれは "バグではなく、機能する"ことができます - あなたは目的地または起点のexaxtの位置を持っています - "最も近いものはありません" – hamczu

+1

ok、私はこれを得ました - "directions_changed"イベントでマーカーを動かす部分http://jsfiddle.net/qbawolny/9T7Vg/4/ – hamczu

2

一つの方法は、終了時にいずれかを配置することですクリックが行われた場所ではなく、ループ内にポリラインが生成されます。

for (k = 0; k < next.length; k++) { 
    polyline.getPath().push(next[k]); 

    if (z == steps.length-1 && k == next.length-1) { 
    var roadMarker = new google.maps.Marker({ 
     map: map, 
     position: next[k], 
     icon: "http://labs.google.com/ridefinder/images/mm_20_green.png" 
    }); 
    }       
} 

あなたはこれがそうhttp://jsfiddle.net/T79as/3/

関連する問題