Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 谷歌地图形状-如何防止重叠_Google Maps_Google Maps Api 3 - Fatal编程技术网

Google maps 谷歌地图形状-如何防止重叠

Google maps 谷歌地图形状-如何防止重叠,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我正在尝试实现一个地图,让用户在上面画一些形状(圆、矩形和多边形),这个部分现在正在工作 问题是用户可以在另一个(重叠的)图形上绘制一个图形,系统不允许这样做。同一地理区域不应被多种形状所覆盖。。。当用户尝试这样做时,应以警告/信息消息通知他们 我已经搜索了很多,但我在任何地方都没有找到一个有效的例子,也没有找到如何做到这一点的线索 你们能帮忙吗?有可能吗 谢谢 您可能已经从中了解到,存在回调绘图事件 绘制完成后,需要确定新形状与已保存的现有形状发生碰撞 google.maps.even

我正在尝试实现一个地图,让用户在上面画一些形状(圆、矩形和多边形),这个部分现在正在工作

问题是用户可以在另一个(重叠的)图形上绘制一个图形,系统不允许这样做。同一地理区域不应被多种形状所覆盖。。。当用户尝试这样做时,应以警告/信息消息通知他们

我已经搜索了很多,但我在任何地方都没有找到一个有效的例子,也没有找到如何做到这一点的线索

你们能帮忙吗?有可能吗


谢谢

您可能已经从中了解到,存在回调绘图事件

绘制完成后,需要确定新形状与已保存的现有形状发生碰撞

    google.maps.event.addListener(
        drawingManager, 
        'overlaycomplete',   
        function(event) {
            // calculate event.overlay is overlapped to another, which is saved. 
            // This part is difficult
            var overlapped = true
            if (overlapped) {
                event.overlay.setMap(null);
                delete event.overlay;
            } else {
                ZONES.overlays.push(event.overlay); // assuming ZONE.overlays are defined
            }
        }
    );

不能告诉你所有关于碰撞检测的事情。你可以在谷歌上搜索“2D碰撞检测”。这都是关于数学的。

你能发布一个JSFIDLE或jsBin链接来说明你到目前为止所拥有的吗?这是一个非常困难的问题,特别是如果你不限制允许的形状类型。我现在看到的:
http://jsfiddle.net/2gr2t/