2016-11-23 50 views
0

我已成功實施Google地圖方向服務api:https://developers.google.com/maps/documentation/javascript/directions並啓用了「draggble」選項。懸停路線時是否可以更改拖曳按鈕的文本標籤(附加截圖)?目前它說:'拖動改變路線'。我需要修改它。我檢查了文檔:https://developers.google.com/maps/documentation/javascript/reference,但找不到任何東西。Google地圖路線服務API'拖動以更改路線'文本更改

當前的代碼是類似於:https://developers.google.com/maps/documentation/javascript/examples/directions-draggable

請幫助我。提前致謝!

enter image description here

更新:我剛剛得到了下來投給「有要麼太多可能的答案,還是不錯的答案將是太長,此格式,請添加詳細信息,以縮小結果集。或者隔離可以用幾個段落回答的問題「。代碼在提供的url中可用,我認爲只有一個解決方案可以使用google map api。如果有任何額外的信息需要,請添加評論。

+0

請提供您的代碼,我之前曾使用該API並且從未看到該按鈕 – iceblade

+0

@iceblade:您可以在https://developers.google.com/maps/documentation/中看到「拖動以更改路線」工具提示。 javascript/examples/directions-draggable url本身。 –

+0

@iceblade:查看工具提示「拖動以更改路線」,只需將路線懸停在:https://developers.google.com/maps/documentation/javascript/examples/directions-draggable –

回答

1

可能我的答案會被降低,但也許它會對你有用。我們說這只是一個想法。所以你可以在改變方向後改變路線的工具提示。

directionsDisplay.addListener('directions_changed', function() { 
     directionsDisplay.gd.b.setTitle('This is your new tooltip for the route.'); 
    }); 

但不幸的是在directions_changed事件的時候有沒有標記還,所以不知爲何,你應該延遲設置自己的頭銜:

 for (var i = 0; i < directionsDisplay.b.G.length; i++){ 
     directionsDisplay.b.G[i].setTitle('Marker ' + i + ' tooltip'); 
     } 

更新: 一個更普遍的代碼:

directionsDisplay.addListener('directions_changed', function() { 
     setRouteTitle(directionsDisplay, 'The new tooltip'); 
    }); 

    function setRouteTitle(dirsDispl, newTitle){ 
     var ddObjKeys = Object.keys(dirsDispl); 
     for (var i = 0; i < ddObjKeys.length; i++){ 
      var obj = dirsDispl[Object(ddObjKeys)[i]]; 
      var ooObjKeys = Object.keys(obj); 
      for (var j = 0; j < ooObjKeys.length; j++){ 
       var ooObj = obj[Object(ooObjKeys)[j]]; 
       if ((ooObj) && (ooObj.hasOwnProperty('title')) && (ooObj.hasOwnProperty('shape')) && (ooObj.shape.type == 'circle')){ 
        ooObj.setTitle(newTitle); 
       } 
      } 
     } 
    }; 

希望這會有所幫助。

+0

你真棒!非常感謝:D! –

+0

你可以請檢查並讓我知道這段代碼是否還在工作?我認爲一些事情已經改變了,你的代碼不再有用了! –

+0

不,我得到:「TypeError:directionsDisplay.gd是未定義的」錯誤! –