2011-02-07 2 views
0

Все,Sencha Touch & API Google Maps - как отображать направления в виде списка?

Я пытаюсь отобразить текстовые версии результатов от 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 секунд - мне не разрешено выполнять это за раз. Что эй? И оскорбление травмы, любые должности, которые вы делаете в формах, должны быть одобрены. Получение ответа на вопрос - это орехи. </rant>

+0

Мой обходной путь, чтобы захватить отдельные шаги от ноги маршрута и вызвать 'panel.update (шаги)' следующим образом: 'this.directionsPanel.update (routesResult.routes [0] .legs [0] .steps); '. Шаблон выглядит следующим образом: 'уаг 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')); 
}