0

Разработали приложение в Sencha Touch V2.Это приложение содержит панель Mappa, где есть карта, эта карта заполнена маркерами, которые соответствуют различным местам (кафе), которые принимаются из json-файла.Sencha Touch 2 App - функциональные требования

Приложения Карта панель функционирует следующий образом:

В качестве маркеров нажмите начальные и конечные места textields POPS окна, где пользователь вводит значения для местоположений начальных и конечных, другой щелчок на любой из других маркеров приводит к тому, что направления от начального и конечного местоположений отображаются на карте.

Нам необходимо реализовать следующий функциональные возможности:

Мы должны облегчить направления мест, введенных в Google картах нанесены на карту на кнопку мыши, а также необходимо восстановить экземпляр карты (карты обновления) и место существующие маркеры на другой кнопке (кнопка очистки карты), чтобы создать новый экземпляр для пользователя, чтобы найти маршруты для разных начальных и конечных местоположений.

Проблемы, которые мы имеем, являются:

  1. При определении обработчика для кнопки мыши в результате никаких действий не выполняется (получение Обработчик направления не функционирует).
  2. Для того чтобы воссоздать экземпляр карты, мы установили карту в нуль, но это привело к карте без маркеров.

Может кто-нибудь, пожалуйста, помогите в решении задач для этого приложения в Сенча сенсорный версии 2.

ответ

0

Created такого рода приложений/функциональность долгое время назад. Вы можете создать плавающий formpanel и предоставить там записи полей для source и destination конечных точек.

Тогда вы могли бы написать следующий код на отводе "Проложить маршрут" кнопку,

фрагмент кода: -

tap: function() { 
    var src = Ext.getCmp('srcField'); 
     var destn = Ext.getCmp('destField'); 
     var mode = Ext.getCmp('travelMode'); 
     var request = { 
     origin: src.getValue(), 
     destination: destn.getValue(), 
     travelMode: mode.getPressedButtons()[0].getText(), 
     }; 

    Ext.Ajax.request({ 
     url: 'http://maps.googleapis.com/maps/api/directions/json?origin='+src.getValue()+'&destination='+destn.getValue()+'&mode='+mode.getPressedButtons()[0].getText()+'&sensor=false'; 
      method:'post', 

      success : function(response) { 
       showDirections(response,request); 
      }   
    }); 

    function showDirections(res,req) { 
     var directionsService = new google.maps.DirectionsService(); 
     var directionsDisplay = new google.maps.DirectionsRenderer(); 
     var map = Ext.getCmp('googleMapComponentId').getMap(); 

     directionsService.route(request, function(response, status) { 
     if (status == google.maps.DirectionsStatus.OK) { 
      directionsDisplay.setDirections(response); 
      directionsDisplay.setMap(map); 
     } 
    }); 
    }