谷歌地图API JAVASCRIPT - 添加更多矩形(动态)

时间:2016-08-07 14:41:50

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

我的“app”使用谷歌地图有点问题。我只想动态地在地图中添加一个矩形,每个矩形都添加一个小事件...

我的代码:

google.maps.event.addListener(this.canvas, "click", function(event)
    {
        var left   = event.latLng.lng() - 0.1;
        var right  = event.latLng.lng() + 0.1;
        var top    = event.latLng.lat() - 0.1;
        var bottom = event.latLng.lat() + 0.1;

        var rectangle = new google.maps.Rectangle({
            bounds: {north: top, south: bottom, east: right, west: left},
            editable: true,
            draggable: true,
            fillColor: 'blue',
            strokeColor: 'blue'
        });

        rectangle.setMap(map.canvas);

        rectangle.addListener("rightclick", function ()
            {
                if(rectangle.editable)
                {
                    rectangle.setOptions({
                        editable: false,
                        draggable: false,
                        fillColor: "black",
                        strokeColor: "black"
                    });
                }
                else
                {
                    rectangle.setOptions({
                        editable: true,
                        draggable: true,
                        fillColor: "blue",
                        strokeColor: "blue"
                    });
                }
            });
    });

我想要的只是点击后添加新的矩形,当我使用右键单击时 - >启用/禁用矩形...

这段代码工作正常,但是当我锁定一个或多个矩形时,所有矩形都不会移动而且它们是可拖动的。

你能帮我解决这个问题吗?谢谢!

现场演示:https://jsfiddle.net/3fuf5bqo/只需2次点击地图(创建2个矩形),然后在其中一个上点击(右键单击) - 它们都不会移动

1 个答案:

答案 0 :(得分:0)

HMMMM,问题出在“rightclick”事件中,当我只使用“click”或“dbclick”时问题解决了......我不明白...... :-但是它有效