2013-08-17 2 views
0

может ли кто-нибудь указать мне в правильном направлении о том, как реализовать карты google в sencha touch 2.2.1 в стиле MVC? возможно, пошаговое руководство?реализация google maps в sencha touch 2 (путь MVC)

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

Я использую вкладку панель и должно отображаться при нажатии одной из вкладок (называется Location) моя карта ...

ответ

1

первого, вы должны поставить панель на карту в качестве элемента вашей вкладки контейнера:

{ 
    xtype: 'map', 
    useCurrentLocation: false, 
    mapOptions: { 
    disableDefaultUI: true, 
    zoom: 11, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
} 

рядом, вы можете обратиться к нему в конкретном контроллере этой точки зрения следующим образом:

config: { 
    refs: { 
    ... 
    mymap: '.map', 
    ... 
    }, 
    ... 
} 

таким образом вы можете иметь ссылку вашего объекта карты в контроллер б у типирование:

this.getMymap() 

и может присоединить обработчик к карте, чтобы сделать какое-то действие на него, когда он визуализируется:

this.getMymap().on('maprender', this.onMapRender, this, { single: true }); 

где «onMapRender» является метод контроллера. Вы должны сделать это, если хотите, например, сделать маркер над картой и центрировать его, потому что перед событием «maprender», отправленным с помощью карты, вы не можете делать никаких действий над ним (объект GMap просто делает еще не существует), поэтому, например, в контроллере, обработчик может быть:

onMapRender: function(e) { 
    var latLngCoordinates = new google.maps.LatLng(..., ...) 
     marker = new google.maps.Marker({ 
      position: latLngCoordinates, 
      animation: google.maps.Animation.DROP, 
      map: this.getMymap().getMap() 
     }); 

    this.getMymap().setMapCenter(latLngCoordinates); 
} 

наслаждаться с ним;)

+0

Он работал спасибо. Одна небольшая модификация, которую я сделал, заключалась в том, что я поместил свою панель карты в отдельное представление, которое расширяет Ext.Map. – bert

Смежные вопросы