javascript - 在标记 Google Maps v3 上添加 onclick 事件

标签 javascript google-maps cordova google-maps-api-3

尽管不知何故,有几个问题与我的问题相关,这就是我的问题不同的原因。使用 Phonegap,我有一个 index.htmlgmap.html。在我的 index.html 上,我的 href 包含参数:

示例:gmap.html?&name=Agustina%20Apartments&lat=14.625486&lng=121.02333099999998

我能够解析参数并在 map 上放置一个标记。但是,我想在标记上分配一个 onclick。我有这段代码:

google.maps.event.addListener(marker, 'click', callNumber('84'));

现在,我要做的是当用户单击标记时,随附的 contact_number 将在电话的拨号器上打开,以便用户可以调用机构。我有一个代码使用 url 中的坐标设置标记。我试图将它放在我的 navigator.geolocation.watchPosition 方法的 onSuccess 回调中,超时为 5 秒。每隔 5 秒,拨号器就会出现电话号码(因为超时)。但是,当我单击标记时,没有任何反应。我试图将它放在我的 initialize() 函数中,但它在显示 map 之前显示了拨号程序,并且标记无法检测到点击事件。

下面是更详细的代码:

function initialize() {
    var mapOptions = {
    zoom: 14,
    center: new google.maps.LatLng(14.6333, 121.0333)
   };


    map = new google.maps.Map(document.getElementById('map-canvas'),
        mapOptions);

  var estabCenter = new google.maps.LatLng(lat,lng);
  var estabMarker = new google.maps.Marker({
    map: map,
    position: estabCenter
  });
  var estabCircle = new google.maps.Circle({
    map: map,
    strokeColor: '#FF0000',
      strokeOpacity: 0.8,
      strokeWeight: 2,
    center: estabCenter
  });

  estabCircle.setRadius(100);

  google.maps.event.addListener(estabMarker, 'click', callNumber('84'));
// Try HTML5 geolocation
if(navigator.geolocation) {
  mapAutoUpdate();
  } else {
  // Browser doesn't support Geolocation
  handleNoGeolocation(false);
  }
}

function callNumber(number){
    window.open('tel:'+number+'', '_system');
}

谢谢那些愿意帮助我的人。

最佳答案

提供一个函数作为回调,而不是函数调用(调用返回另一个函数除外):

google.maps.event.addListener(estabMarker, 'click', function(){callNumber('84');});

关于javascript - 在标记 Google Maps v3 上添加 onclick 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26773271/

相关文章:

javascript - NG-重复具有重复值的对象,而不在输出上复制它,而不使用过滤器和外部依赖项

javascript - 需要一个 JavaScript 解决方案来完全隐藏不同屏幕设备中的部分代码

javascript - 搜索过滤器在 setState : React JS 上的 react 表中不起作用

php - Google map API 无法在 Bitrix 上使用 AJAX

android - Cordova 网络应用程序

javascript - 从下拉列表中更改不同的表(onChange)

javascript - ASP.NET Google Maps API v2 工作正常,v3 不工作

android - 保护应用程序免于绕过根检测(Frida Server)

javascript - Cordova网络信息插件: broken?

javascript - GMaps.js setContextMenu