Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 谷歌地图API 3:通过右键单击获取坐标_Google Maps_Google Maps Api 3 - Fatal编程技术网

Google maps 谷歌地图API 3:通过右键单击获取坐标

Google maps 谷歌地图API 3:通过右键单击获取坐标,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我有两个文本框用于lat和lon,当用户向数据库输入新记录时使用 我有一个谷歌地图的实时预览,效果很好,现在我想做的是在地图上添加一个右键单击事件,用点击的坐标填充lat/lon文本框 这可能吗 我知道如何添加事件侦听器,并查看了API文档,但没有看到任何可以这样做的内容。我知道你可以在谷歌网站上的地图上完成这项工作。你可以创建一个对象(),并将一个右键单击事件处理程序附加到该对象上,该处理程序将使用地图上单击位置的纬度和经度填充该对象 google.maps.event.addListener

我有两个文本框用于lat和lon,当用户向数据库输入新记录时使用

我有一个谷歌地图的实时预览,效果很好,现在我想做的是在地图上添加一个右键单击事件,用点击的坐标填充lat/lon文本框

这可能吗

我知道如何添加事件侦听器,并查看了API文档,但没有看到任何可以这样做的内容。我知道你可以在谷歌网站上的地图上完成这项工作。

你可以创建一个对象(),并将一个
右键单击事件处理程序附加到该对象上,该处理程序将使用地图上单击位置的纬度和经度填充该对象

google.maps.event.addListener(map, "rightclick", function(event) {
    var lat = event.latLng.lat();
    var lng = event.latLng.lng();
    // populate yor box/field with lat, lng
    alert("Lat=" + lat + "; Lng=" + lng);
});
函数initMap(){
变量myOptions={
缩放:6,
中心:新google.maps.LatLng(-33.8688151.2093)
},
map=new google.maps.map(document.getElementById('map-canvas'),myOptions),
marker=新的google.maps.marker({
地图:地图,
}),
infowindow=新建google.maps.infowindow;
map.addListener('右键单击',函数(e){
地图设置中心(e.latLng);
标记器。设置位置(如板条);
infowindow.setContent(“纬度:+e.latLng.lat()+
“
”+“经度:”+e.latLng.lng()); 信息窗口。打开(地图、标记); }); }
html,
身体{
身高:100%;
}
#地图画布{
身高:100%;
宽度:100%;
}


我想我找到了一些东西,fromDivPixelToLatLng看起来不错。。我会试验并重新发布解决方案,如果它能工作的话。我花了将近半天的时间编写代码,然后重新检查,删除了它,因为这就是它。谢谢如何获取单击的标记?通过将它们存储在一个数组中?相同的代码,但将“rightclick”更改为“click”,使其适用于左键单击。您还可以在此处查看live中的所有事件: