【问题标题】:When is remove_at event in Google Maps API v3 triggered?Google Maps API v3 中的 remove_at 事件何时触发?
【发布时间】:2011-11-27 00:07:59
【问题描述】:

我正在研究 google map api v3,并希望添加编辑折线的功能。从谷歌文档开始。折线处于编辑模式时会触发 3 个事件。

  1. 插入_at
  2. set_at
  3. remove_at

我知道前两个事件何时触发并且也能够获取编辑后的坐标。我也想删除一个节点,但不确定它是如何工作的?谁能告诉我什么时候会触发“remove_at”事件?

【问题讨论】:

    标签: google-maps-api-3 jquery addeventlistener


    【解决方案1】:

    根据documentation,这些事件属于google.maps.MVCArray 类。您还可以找到remove_at事件的描述:

    调用 removeAt() 时会触发此事件。该事件通过 传递给 removeAt() 的索引和被移除的元素 来自数组。

    但我不确定您是否可以在编辑折线时使用这些事件来处理更改。这很有趣,请告诉我们它是否有效以及如何运作!

    【讨论】:

    • 谢谢托马斯爵士。我知道它是在调用 removeAt() 时触发的,但想知道在触发其他两个事件时编辑折线时何时触发此事件。好吧,我已经解决了它。我为折线中的所有节点分配了一个“右键单击”侦听器,并在触发此右键单击事件时删除该节点,这可以按我的意愿工作。我现在已经完全正常工作了。谢谢:)
    • 我真的希望多边形和多段线除了相同的路径事件并且表现相同......但是nooooo
    • @JohnnyDarvall,很典型:)你能更具体一点吗?多边形有何不同?
    • 我收回我的评论。实际上它的工作原理是一样的。我希望这些事件在添加新路径后仍然有效 - 千次赦免。
    【解决方案2】:

    当您撤消对现有叠加层的编辑导致控制点被移除时,将触发“remove_at”。

    我已经创建了一个fiddle to demonstrate这个。

    从小提琴:

    var myLatlng = new google.maps.LatLng(60.629765, 6.424094);
    var myOptions = {
        zoom: 14,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    
    var drawMan = new google.maps.drawing.DrawingManager({
        map: map,
        drawingControl: false,
        polygonOptions: {
            editable: true,
            draggable: true
        }
    });
    
    drawMan.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);
    
    google.maps.event.addListener(drawMan, 'overlaycomplete', function (event) {
        // When draw mode is set to null you can edit the polygon you just drawed
        drawMan.setDrawingMode(null);
    
        google.maps.event.addListener(event.overlay.getPath(), 'remove_at', function () {
            alert('remove_at triggered');
        });
    });
    

    【讨论】:

      猜你喜欢
      • 2013-08-25
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 2011-02-13
      • 1970-01-01
      • 2015-09-08
      • 2011-04-10
      相关资源
      最近更新 更多