1

我能够在屏幕上显示地图并获取当前的纬度和经度位置。但是我想在这些纬度和经度值的位置显示一个标记。我尝试在渲染地图时添加一个侦听器。下面是代码。但是屏幕上没有出现任何标记。关于如何让标记显示在当前位置的任何指示都会非常有帮助。

<script src="http://maps.googleapis.com/maps/api/js?sensor=true"></script>
<link href="touch/resources/css/sencha-touch.css" rel="stylesheet" type="text/css" /> 

<script type="text/javascript">     

Ext.application({ name: 'MapApp',

launch: function() {
var lat,lng;

//get latitude and longititude values

Ext.device.Geolocation.getCurrentPosition({
success: function(position) {
    lat = position.coords.latitude;

    lng = position.coords.longitude;
    alert(lat);
    alert(lng);
     Ext.Viewport.add( {
        xtype:'map',
        useCurrentLocation:true,
        fullscreen: true,
        layout:'fit',
        listeners : {
        maprender : function() {
            alert('map rendered');
            var marker = new google.maps.Marker({
            position: new google.maps.LatLng(lat,lng),
            title : 'testing',

            });
        }
    }

    });
},
failure: function() {
    alert('something went wrong!');
}
4

1 回答 1

2
maprender : function(map, gmap, options) {
            alert('map rendered');
            var marker = new google.maps.Marker({
                position: new google.maps.LatLng(lat,lng),
                title : 'testing',
                map: //gmap or map, try both one of them will work
            });
            }

此映射键很重要,您还需要确保在数组中保存标记以供将来使用

于 2013-03-11T09:15:25.913 回答