繁体   English   中英

删除标记-Google Maps Javascript API v3

[英]Remove Marker - Google Maps Javascript API v3

试用tha Maps API。 我被困在删除标记上。 添加标记效果很好,但是删除却不起作用。 知道为什么这行不通吗? 预先感谢!

function placeMarker(event) {
    var marker = new google.maps.Marker({
      clickable: true,
      position: event.latLng,
      map: map
    });
  }

  function deleteMarker() {
    marker.setMap(null);
    marker = null;
  }

   function initialize() {
    var mapOptions = {
      zoom: 8,
      center: home
    };
    map = new google.maps.Map(document.getElementById('map-canvas'),
        mapOptions);

    google.maps.event.addListener(map,'rightclick', placeMarker);
    google.maps.event.addListener(marker,'click', deleteMarker);
  }

  google.maps.event.addDomListener(window, 'load', initialize);

定义全局变量

var map,
    marker,
    home = new google.maps.LatLng(46.5, 13.5);

导致错误消息:

Uncaught TypeError: Cannot read property '__e3_' of undefined      main.js:15

从线

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

marker仍未undefined因为未创建marker ,并且无法将事件侦听器附加到该marker 该行必须移至placeMarker()函数:

function placeMarker(event) {
    marker = new google.maps.Marker({
        clickable: true,
        position: event.latLng,
        map: map
    });

    google.maps.event.addListener(marker, 'click', deleteMarker);
}

请参阅jsbin上的示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM