1

マップの単一のインスタンスで複数の方向 (基本的にはポリライン) をレンダリングしようとしています。Maps API の以前のバージョンでは、次のようなことをしました。

//directions[] stores the GDirections objects
//x[] is an array of Elements extracted from an XMLHTTPResponse object
//iterating over the values in x[]
GEvent.addListener(directions[i], "load", function() {
 var polyline = this.getPolyline();
 map.addOverlay(polyline);
 polyline.setStrokeStyle({opacity:0.2})
 });

directions[i].load("from:here to:"+x[i].childNodes[0].nodeValue,{getPolyline:true});

DirectionsService クラスと DirectionsRenderer クラスがあるので、同じことを行うためのベスト プラクティスが何かわかりません。DirectionsRenderer クラスの複数のインスタンスを作成し、メイン マップのインスタンスに対して setMap() を実行させる必要がありますか? DirectionsServices クラスの複数のインスタンスを作成しますか?

私は一般的にJavaScriptと関数型言語に非常に慣れていないため、関数型クロージャがコールバックに関連しているため、関数型クロージャを理解しようとすることはほとんどありませんでした。整形もご容赦ください。

どんな助けでも大歓迎です、私はあなたが提起するかもしれないどんな点でも明確にしようとします.

4

2 に答える 2

1

Ephraim さん、何時間も調査してさまざまな解決策を試した後、これを思いつきました。DirectionsRenderer の別のインスタンスを作成し、(これは重要です!) 応答関数内に DirectionsService インスタンスを作成する必要があります。このリンクは、正しい方向へと導きます。

于 2010-10-22T13:57:19.187 に答える
0

@ifaour が投稿したリンクを使用して、ダウンした汚いデモを作成しました。私の目的では、方向オブジェクトごとに複数の固有のウェイポイントが必要だったので、ウェイポイントの配列を作成して、そのスニペットを少し進めました。デモへのリンクは次のとおりです...すべてがインラインです。:D

これは非常に汚いコード セットです (私は中級者です)。ぜひ、できればクリーンアップしてください。

于 2011-03-31T10:32:51.107 に答える