2

これによると、directionRendererオブジェクトのメソッドsetRouteIndex()は、レンダリングするDirectionsResultオブジェクトのルートの(ゼロベースの)インデックスを設定する必要があります。

これが私がしたことです:

directionsService.route(request, function(response, status) {
                    if (status == google.maps.DirectionsStatus.OK) {
                        directionsDisplay.setRouteIndex(1);
                        console.log(directionsDisplay.getRouteIndex());
                        directionsDisplay.setDirections(response);
                        console.log(directionsDisplay.getRouteIndex());

} });

私が行っているクエリには3つの代替ルートがあることを知っています。ここでは、最初console.log(directionsDisplay.getRouteIndex());にルート番号を指定します。1、それは大丈夫ですが、の実行後、setDirectionssecongログは値0!を与えます。それは最初のルートを意味します。代替ルートを有効にしました。provideRouteAlternatives:true、次のようなオブジェクトも開始しました。

var rendererOptions = {
     routeIndex:1 
    }
directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);

しかし、それでもルート番号が表示されます。番号1ではなく0です。これが私のウェブページです。ソースを確認してください。前もって感謝します。

4

1 に答える 1

1

あなたは何かを誤解していると思います。あなたが言った:

console.log(directionsDisplay.getRouteIndex());ルート番号を与えます。1、それは大丈夫ですが、setDirectionsの実行後、secongログは値0!を与えます。

...そしてそれはあなたがそれをリセットしているのでそれもOKです:directionsDisplay.setDirections(response);

ただし、応答はすでにDirectionsRendererオブジェクトにロードされているため、この行は必要ありません。

于 2012-08-30T09:43:30.320 に答える