sencha-touch - sencha 触摸图中的标记

标签 sencha-touch google-maps-markers

我无法使用 sencha touch 在我的 Google map 上放置任何标记。此代码可以正确运行:

Ext.setup({
    tabletStartupScreen: 'tablet_startup.png',
    phoneStartupScreen: 'phone_startup.png',
    icon: 'icon.png',
    glossOnIcon: false,
    onReady: function() {
        var position = new google.maps.LatLng(36.830618975720746,10.1987886428833);
        var position2 = new google.maps.LatLng(33.7580276912933,10.848312377929688);
        var map = new Ext.Map({
            mapOptions: {
                center: position
            },
            listeners: {
                delay: 500,
                afterrender: function(){
                    var marker = new google.maps.Marker({
                        position: position,
                        title: 'helooooooo',
                        map: map.map
                    });
                    var marker2 = new google.maps.Marker({
                        position: position2,
                        title: 'helooooooo',   
                        map: map.map
                    }); 
                }
            }
        });
        var icons = new Ext.TabPanel({
            fullscreen: true,
            items: [{
                iconCls: 'bookmarks',
                title: 'page principale',
                cls: 'card card3',
                html: 'Blaaaaaaaa'
            }, {
                iconCls: 'search',
                title: 'MapTunis',
                cls: '',
                layout: 'fit',
                items: map
            }],
            tabBar: {
                scroll: {
                    direction: 'horizontal',
                    scrollbars: false
                },
                layout: {
                    pack: 'center'
                }
            },
        });
    }
});

我自己尝试了这段代码,效果很好。但是当我用 xtype:Map 尝试它时,无论我尝试什么,它都不起作用。

App.views.Homegeoatm = Ext.extend(Ext.Panel, {
    items: [{
        xtype: 'map',
        id: 'map',
        useCurrentLocation: true,
        fullscreen: true,
        markerDesc: "salam",
        markerPos: new google.maps.LatLng (36.830618975720746,10.1987886428833),
        mapOptions: {
            zoom: 8 
        },
        listeners: {
            delay: 500,
            afterrender: function(){
                var marker = new google.maps.Marker({
                    position: position = new google.maps.LatLng (36.830618975720746,10.1987886428833),
                    map: App.views.Homegeoatm.getComponent('map').map,
                });
            }
        }
    }]
});
Ext.reg('Homegeoatm', App.views.Homegeoatm);

最佳答案

您需要在 map 的“maprender”事件(而不是“afterrender”)上添加标记。试试这个:

listeners: {
    maprender: function(extMapComponent, googleMapComp){
       var marker = new google.maps.Marker({
       position: new google.maps.LatLng (36.830618975720746,10.1987886428833),
       map: googleMapComp,
    });
}

这应该有效(未经测试)。

关于sencha-touch - sencha 触摸图中的标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9674677/

相关文章:

checkbox - Sencha Touch checkboxfield 具有带有长标签的时髦布局

android - 屏幕旋转时旋转 map 标记?

javascript - 如何在 Google Maps API 中获取 KML 放置标记值?

ios - Google Maps iOS 选择所有标记

android - 如何根据标记数动态缩放谷歌地图?

sencha-touch - 如何获取 FieldSet 的元素

javascript - Sencha touch重绘面板

ios - PhoneGap 1.4 + Sencha Touch 2 iPhone应用程序提交到应用程序商店错误

javascript - Ext.Ajax.request在jQuery.ajax发送GET时发送OPTIONS请求跨域

javascript - 谷歌地图 API v3 : MarkerWithLabel not showing until zoom