2014-07-13 58 views
0

我在玩聚合物的設計工具。遵循標準教程創建一個帶有google-map元素的腳手架,以及允許您在衛星或地圖視圖之間切換的菜單項,我現在也嘗試創建另一個菜單項以更改爲導航視圖,使用單獨的Google -map-directions元素。如何在Polymer中使用google-map-directions元素?

但是,綁定元素的映射和endAddress屬性後,它仍然不會執行任何操作。 這裏是到目前爲止的代碼:

<polymer-element name="my-element"> 

    <template> 
    <style> 
     [snipped for brevity] 
    </style> 
    <core-scaffold id="core_scaffold"> 
     <core-header-panel mode="seamed" id="core_header_panel" navigation flex> 
     <core-toolbar id="core_toolbar"> 
      <core-field id="core_field" icon="search" theme="core-light-theme" center horizontal layout> 
      <core-icon icon="search" id="core_icon"></core-icon> 
      <core-input placeholder="text input" inputvalue="Potsdam" value="{{ $.speech_mic.transcript }}" id="core_input" flex></core-input> 
      <speech-mic transcript="Potsdam" id="speech_mic"></speech-mic> 
      </core-field> 
     </core-toolbar> 
     <core-menu selected="Roadmap" valueattr="label" selectedindex="0" id="core_menu" theme="core-light-theme"> 
      <core-item label="Roadmap" icon="star" size="24" id="core_item" on-tap="{{ showRoad }}" horizontal center layout active></core-item> 
      <core-item label="Satellite" icon="add-circle-outline" size="24" id="core_item1" on-tap="{{ showSat }}" horizontal center layout></core-item> 
      <core-item label="Navigate" icon="settings" size="24" id="navigate" on-tap="{{ showNavigator }}" horizontal center layout></core-item> 
     </core-menu> 
     <google-map-search map="{{ $.google_map.map }}" query="{{ $.core_input.value }}" id="google_map_search"></google-map-search> 
     <google-map-directions map="{{ $.google_map.map }}" endaddress="{{ $.core_input.value }}" travelmode="WALKING" id="google_map_directions"></google-map-directions> 
     </core-header-panel> 
     <div id="div" tool class="walktitle">Map Test</div> 
     <google-map latitude="{{ $.google_map_search.result.latitude }}" longitude="{{ $.google_map_search.result.longitude }}" zoom="18" showcentermarker id="google_map"></google-map> 
    </core-scaffold> 
    </template> 

    <script> 

Polymer('my-element', { 
     showRoad: function() { 
     this.$.google_map.mapType='roadmap'; 
     }, 
     showSat: function() { 
     this.$.google_map.mapType='satellite'; 
     }, 
     showNavigator: function(){ 
     this.$.google_map_directions.route(); 
     } 
    }); 

    </script> 

</polymer-element> 

這是一個有點長,對不起。

在這個元素上似乎沒有任何示例或文檔,只是代碼。 任何人都知道缺少了什麼?

建議感激,謝謝!

回答

1

有一個PR出來的文檔:https://github.com/PolymerLabs/google-map/pull/30

我相信你缺少方向元素的startAddress。除非有開始和結束地址,否則元素不會激活。

順便說一句,這三個元素的暴露map公佈的屬性,您可以綁定到:

<google-map-search map="{{map}}" ...></google-map-search> 
<google-map-directions map="{{map}}" ...></google-map-directions> 
<google-map map="{{map}}"></google-map> 

考慮使用的是代替$.google_map.map(雖然這是完美的罰款)。

+0

太好了,謝謝! $ .google_map.map是設計師在那裏放置的內容,但我會嘗試使用地圖屬性,感謝提示! – batjko

+0

因此,給它一個隨機的startaddress字符串(例如「Paris」)的確會觸發正確的導航!但是,雖然我可以通過標準導航器對象獲取當前的緯度和經度,但是如何將座標交給startaddress屬性?似乎沒有工作,無論我嘗試的方式。 – batjko

+1

我不確定該元素是否支持該功能。現在它非常基本...... startAddress和stopAddress。 – ebidel

相關問題