Как узнать широту и долготу точки при нажатии на карту - PullRequest
0 голосов
/ 10 мая 2019

Как получить широту и долготу точки при нажатии на карту в gmappanel компоненте?

Ext.require('Ext.ux.GMapPanel');
var map = Ext.create('Ext.panel.Panel', {
    layout: 'fit',
    header: false,
    border: false,
    itemId:'map',
    style: 'padding: 0; border-width: 0;',
    draggable: false,
    height:290,
    width:350,
    items: [{
        xtype: 'gmappanel',
        useCurrentLocation :true,
        center:
        {
            lat:36,
            lng:36
        },
        mapOptions: {
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            zoom: 6
        }
    }]
});
component.add(map);

Ответы [ 2 ]

1 голос
/ 14 мая 2019

Добавьте слушателя 'click' к вашей карте

google.maps.event.addListener(myMap, 'click', function (event) {
       var latitude= event.latLng.lat();
       var longitude= event.latLng.lng();
     });
1 голос
/ 10 мая 2019

Вам необходимо добавить слушателя к объекту google map после визуализации map.

var map = Ext.create('Ext.panel.Panel', {
    layout: 'fit',
    header: false,
    border: false,
    itemId: 'map',
    style: 'padding: 0; border-width: 0;',
    draggable: false,
    height: 290,
    width: 350,
    items: [{
        xtype: 'gmappanel',

        useCurrentLocation: true,
        center: {
            lat: 36,
            lng: 36
        },
        mapOptions: {
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            zoom: 6
        },
        listeners: {
            mapready: function () {
                google.maps.event.addListener(this.gmap, "click", function (e) {
                    var latLng = e.latLng;
                    alert(Ext.String.format("Position: {0}}", e.latLng))
                });
            }
        }
    }]
});
...