用户单击时在Google地图中捕获坐标 [英] Capture Coordinates in Google Map on User Click

查看:114
本文介绍了用户单击时在Google地图中捕获坐标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用下面的事件监听器在用户点击地图时,我使用这段代码来捕获坐标:

  google.maps.event.addListener(map,'click',function(event){
placeMarker(event.latLng);
});

然而,当用户点击Map中已经标记的位置时,该函数不会被调用。
含义此函数不会在鼠标指针变为Google Map上的手形图标时调用。



需要获取这些位置信息的帮助。

应该在标记上添加点击监听器会给你标记的位置。

  //添加监听器
google.maps .event.addListener(marker,click,function(event){
var latitude = event.latLng.lat();
var longitude = event.latLng.lng();
console.log(latitude +','+ longitude);
}); // end addListener

编辑:
您需要类似这样的内容

  //添加监听器
google.maps.event.addListener(marker,click,function(event){
var latitude = event.latLng.lat();
var longitude = event.latLng.lng();
console.log(latitude +','+ longitude);

radius = new google.maps.Circle({map:map,
radius:100,
center:event.latLng,
fillColor:'#777',
fillOpacity:0.1 ,
strokeColor:'#AA0000',
strokeOpacity:0.8,
strokeWeight:2,
draggable:true,//可拖曳
editable:true // Resizable
});

//地图中心
map.panTo(新的google.maps.LatLng(纬度,经度));

}) ; // end addListener


I'm using this code to capture the co-ordinates when user clicks on the map by using below event listener:

google.maps.event.addListener(map, 'click', function(event) {
    placeMarker(event.latLng);
});

However this function doesn't get called when user click on already marked location in Map. Meaning this function is not called for points where mouse pointer changes to hand icon on Google Map.

Need help on capturing these kind of locations.

解决方案

You should add the click listener on marker will give you the position of marker.

//Add listener
google.maps.event.addListener(marker, "click", function (event) {
    var latitude = event.latLng.lat();
    var longitude = event.latLng.lng();
    console.log( latitude + ', ' + longitude );
}); //end addListener

Edit: You need something like this

//Add listener
google.maps.event.addListener(marker, "click", function (event) {
    var latitude = event.latLng.lat();
    var longitude = event.latLng.lng();
    console.log( latitude + ', ' + longitude );

    radius = new google.maps.Circle({map: map,
        radius: 100,
        center: event.latLng,
        fillColor: '#777',
        fillOpacity: 0.1,
        strokeColor: '#AA0000',
        strokeOpacity: 0.8,
        strokeWeight: 2,
        draggable: true,    // Dragable
        editable: true      // Resizable
    });

    // Center of map
    map.panTo(new google.maps.LatLng(latitude,longitude));

}); //end addListener

这篇关于用户单击时在Google地图中捕获坐标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆