2

Google API の方向に 8 つのウェイポイントしか追加できないことを発見しました。この制限を回避する方法を知っていますか? 方向APIを表示しようとしましたが、このアイデアをあきらめました。現在、私のソリューションは独自のポリラインに基づいています。クリックするたびに、その線にくっつくマーカーが追加されます。次に、ドラッグすると一緒に移動する必要があります。ここで発生したのは、マーカー付きのポリラインが 8 つ以上ある場合、互換性がなくなったことです。多分私のアプローチは完全に悪いですか?これを修正する方法は?

現在のコード: jsfiddle

マーカーはポリライン上にありません:

ここに画像の説明を入力

4

2 に答える 2

2

マーカーがブロックの中央に配置されるのを回避する 1 つの方法は、クリックがあった場所ではなく、生成されたポリラインの端、たとえば、ループの 1 つの内側にマーカーを配置することです。

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/

于 2012-04-17T02:04:14.397 に答える
1

だから、私の解決策は、各重要なウェイポイントの間にレンダリングDirectionRendernerを作成することです(マーカー付き?): http://jsfiddle.net/9T7Vg/

  • 元のものとまったく同じように見えるドラッグ可能なマーカー
  • すぐに計算できるドラッグ可能なポリライン
  • 文字付きのカスタム マーカー (A、B など) - これは困難でした
  • 長距離でのルート計算ははるかに高速です
  • ルートは 8 つ以上のウェイポイントを持つことができます (ユーザーがマーカー間に 9 番目のウェイポイントを配置したい場合、スクリプトを改善してルートを自動分割することができます)

したがって、このソリューションは実際、特に長いルートでは、Google マップのオリジナルよりも優れています。

于 2012-04-17T13:49:12.913 に答える