установите маркер google в sencha touch


У меня есть некоторые проблемы, когда я устанавливаю маркер, я нашел этот код для создания карты google, и он работает. Но теперь я хочу установить маркер с моей текущей позицией, и проблема в том, что я не знаю, где находится объект google map, Без этого маркер не отображается.

this.mapg = new Ext.Map({
        useCurrentLocation:true,
        geo:new Ext.util.GeoLocation({
              autoUpdate:true,
              timeout:2000,
              listeners:{
                locationupdate: function(geo) {
                  center = new google.maps.LatLng(geo.latitude, geo.longitude);

                  // Set the marker
                  marker = new google.maps.Marker({
                    map:geo.map,//??? No idea where is the google map object 
                    position: center
                  });

                 if (this.rendered)
                    this.update(center);
                  else
                    this.on('activate', this.onUpdate, this, {single: true, data: center});
                },
                locationerror: function(geo){
                  alert('got geo error');          
                }
              }
           })
    });
2 3

2 ответа:

Проведя день в поиске через google, я основал это решение:

ascom.views.MapG = Ext.extend(Ext.Panel, {

layout:'card',
initComponent: function(){

    var infowindow = new google.maps.InfoWindow({
        content: 'prova'
    });

    this.map = new Ext.Map({
        mapOptions : {
            zoom: 12,
            navigationControlOptions: {
                style: google.maps.NavigationControlStyle.DEFAULT
            }
        },
        useCurrentLocation: true,
        listeners: {
            maprender : function(comp, map){
                var marker = new google.maps.Marker({
                     position: map.center,
                     title : 'Infofactory HQ',
                     map: map
                });

                infowindow.open(map, marker);

                google.maps.event.addListener(marker, 'click', function() {
                     infowindow.open(map, marker);
                });
            }
        }
    });

    this.panel = new Ext.Panel({
        layout:'fit',
        items:this.map,
        dockedItems:[
            {
                xtype:'toolbar',
                title:'Map GO'
            }
        ]
    });

    this.items = this.panel;
    ascom.views.MapG.superclass.initComponent.call(this);

}


});

Это в:

mapg.map

Вы не показываете, что mapg является членом, но вы можете получить к нему явный доступ.