API Google Maps Javascript在上下文菜单中调用事件侦听器

API Google Maps Javascript calling event listener inside context menu

本文关键字:调用 事件 侦听器 菜单 上下文 Google Maps Javascript API      更新时间:2023-09-26

我正在使用Google Maps API V3和我创建的上下文菜单。每当我单击上下文菜单中的菜单时,我都想获取鼠标在地图上的位置坐标。除了我不知道该怎么做。

这是我尝试做的:

contextmenuDir.innerHTML = "<a id='menu1' onclick='google.maps.event.addListener(menu1, 'click', function(event) {
      var lat = event.latLng.lat();
      var lng = event.latLng.lng();
      changeBeginCoords(lat,lng);
    });'><div class=context>Direccoes a partir daqui<'/div><'/a>";

有人知道我该怎么做吗?

编辑:好的,我设法前进了一点,现在每当我按下上下文菜单的菜单时,我都可以进入事件侦听器。

var m1 = document.getElementById("menu1");
    google.maps.event.addDomListener(m1, "click", function(event) {
      var lat = event.latLng.lat();
      var lng = event.latLng.lng();
      changeBeginCoords(lat,lng);
      // populate yor box/field with lat, lng
    });

现在有一种找出此错误的方法: Cannot read property 'lat' of undefined

好吧,经过一番挖掘,我找到了addDomListener的方法。以下是我的代码最终的结果:

var m1 = document.getElementById("menu1");
    google.maps.event.addDomListener(m1, "click", function(event) {
      var lat = lati;
      var lng = lngi;
      changeBeginCoords(lat,lng);
      hideContextMenu();
      // populate yor box/field with lat, lng
    });

latilngi是新坐标。当我右键单击地图以查看上下文菜单时,我会检索它们。