2012-02-16 27 views
4

地図を統合しましたので、2つの場所の間のルートの方向を表示したいと思います。 すべてが正常に動作していると方向が完全に表示され、 しかし、私はPolyline方向の色を変更したい、ドキュメントが言うように、私はこのコードを試してみた:DirectionsRendererのポリラインの色を変更してください

//polyline options 
    var pOptions = { 
      map: map, 
      strokeColor: "#2249a3", 
      strokeOpacity: 0.9 , 
      strokeWeight: 12, 
      z-index: 99 
    }; 
    logJava(polylineOptions); 

    //directionsRenderer options 
    var mDirectionsRendererOptions = { 
      map: map, 
      suppressMarkers: true, 
      suppressInfoWindows: true, 
      polylineOptions: pOptions 
    }; 

    logJava(mDirectionsRendererOptions); 

    directionsDisplay = new google.maps.DirectionsRenderer(mDirectionsRendererOptions); 

をしかし、私はこのコードを追加する場合、それは地図を停止し、何も表示しません。私がコメントすると、すべてうまくいきます。

このコードで何が問題なのですか。でポリラインの色を変更するにはgoogle maps javascript api v3?事前に

おかげで、グローバル宣言で

+0

任意のヘルプ??????? – Houcine

答えて

20

var polylineOptionsActual = new google.maps.Polyline({ 
    strokeColor: '#FF0000', 
    strokeOpacity: 1.0, 
    strokeWeight: 10 
    }); 

では、あなたが新しいpolylineOptionsでdirectionsRendererを更新した後、あなたは再レンダリングする必要があり、@Seacat

function initialize() { 
    directionsDisplay = new google.maps.DirectionsRenderer({polylineOptions: polylineOptionsActual});  
+0

あなたの返信ありがとう、私はそれを試してみます – Houcine

+0

私はそれを試して、それは色を変更しますが、それは変更されていないと思われ、また、私は、例えば、赤色や緑色、それは常に黒の色を表示...任意のアイデア? – Houcine

+0

最後にそれは働く、ありがとう – Houcine

2

を初期化レンダラーオブジェクト内に格納されている方向応答。

directionsRenderer.setDirections(directionsRenderer.directions); 
+0

ありがとうございました。 – mimic

4

解決済みとマークされた回答では、そのオブジェクトPolylineがpolylineOptionsに使用されています。私の場合は、次のコード

new google.maps.DirectionsRenderer({ suppressMarkers: true, polylineOptions: { strokeColor: '#5cb85c' } }); 

違いを使用し、私はpolylineOptions、ないポリラインオブジェクトを割り当てることです。それは役に立つかもしれないが、これらの答えを追加することを決めた。

+2

それは私に違いありました、ありがとう!ポリラインを使用すると、複数のウェイポイントを通過した場合にのみ、最後の部分がレンダリングされます。代わりにpolylineOptionsを使用して、私のフルマップをレンダリングします。ありがとう! – Pega88

+0

色を変更できないことを除いて、これは機能します。 strokeColorプロパティは何の効果もありません。 –

3

setOptions(options:DirectionsRendererOptions)を使用すると、コードが読みやすくなります。コーディングは次のようになります。

var directionsDisplay; 

方法initialize()内側::

グローバルレベルでは

var polyline = new google.maps.Polyline({ 
    strokeColor: '#C00', 
    strokeOpacity: 0.7, 
    strokeWeight: 5 
    }); 
directionsDisplay = new google.maps.DirectionsRenderer(); 
directionsDisplay.setOptions({polylineOptions: polyline}); 
now directionDisplay can be used in any method with the custom poly line.