2011-02-07 17 views
0

すべて、Sencha Touch&Google Maps API - ルートをリストとしてレンダリングするにはどうすればよいですか?

結果のテキスト版をGoogle.maps.DirectionsService.route()から表示しようとしています。 DirectionsRenderクラスをDOMノード(DIV)に渡してテキストをレンダリングしますが、空白のページが表示されます。誰でもExt.PanelをDirectionsRendererに渡してレンダリングする方法を知っていますか?現在の試みは次のとおりです。

plotDirections: function(directionsResult, status) { 

    if (status != this.ROUTING_STATUS_OK) { 
     log.debug("routing blew up: " + status); 
     Ext.Msg.alert('Routing Error', 'Couldn\'t route: ' + status, Ext.emptyFn); 
     return; 
    } 

    var targetListDiv = this.directionsList.getEl().dom; 

    this.directionsRenderer = new google.maps.DirectionsRenderer({ 
     map:this.nearMeMap.map, 
     directions:directionsResult, 
     suppressMarkers:true, 
     panel:targetListDiv 

    }); 

    this.showDirectionsList(); 

    log.debug(targetListDiv.outerHTML); 


} 

ありがとうございました!

<rant> PS:私はSenchaのフォーラムを検索しましたが、彼らは役に立たないのですか?それだけでなく、15秒ごとに1回以上検索を実行するとエラーメッセージが表示されます。一度に多くの検索を実行することはできません。ちょっとね?傷害を侮辱し、フォームに投稿した投稿はすべて承認されなければなりません。質問への答えを得ることはナッツです。 </rant>

+0

私の回避策はつかむことですルートの足から個々のステップを呼び出し、 'panel.update(steps)'を以下のように呼び出します: 'this.directionsPanel.update(directionsResult.routes [0] .legs [0] .steps); ' ';' VARのTPL =新しいExt.XTemplate( ''、 '

{instructions} | {distance.text}
'、 '' ):テンプレートは次のようになります。他の提案は非常に感謝しています。 –

答えて

1

私は、次を使用してレンダリングするテキストを取得することができた:

パネルコード:

{ 
    xtype: 'panel', 
    flex: 1, 
    html: '<div id="directionsTextHTML"></div>', 
    id: 'directionsText', 
    scrollable: true 
} 

行き方ファンクションコード:

directionsService.route(request, function(response, dstatus) { 
if (dstatus == google.maps.DirectionsStatus.OK) { 
    directionsDisplay.setDirections(response); 
    directionsDisplay.setMap(mapRef.getMap()); 
    directionsDisplay.setPanel(document.getElementById('directionsTextHTML')); 
} 
関連する問題