Bru*_*noG 5 google-maps google-maps-api-3
我正在尝试实现一个地图,让用户在其上绘制一些形状(圆形、矩形和多边形),并且该部分现在正在工作。
问题是用户可以在另一个(重叠)上绘制一个形状,而系统不应该允许这样做。相同的地理区域不应被多个形状覆盖......当用户尝试这样做时,他们应该收到警告/信息消息的通知。
我已经搜索了很多,但我没有在任何地方找到一个工作示例,也没有找到如何做到这一点的线索。
你们能提供任何帮助 - 甚至有可能吗?
谢谢!
正如您可能已经从https://developers.google.com/maps/documentation/javascript/drawing#drawing_events了解到的,有回调绘图事件。
绘制完成后,您需要确定新形状是否与已保存的现有形状发生碰撞。
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
}
}
);
Run Code Online (Sandbox Code Playgroud)
无法告诉您有关碰撞检测的所有信息。不过你可以用谷歌搜索“2D 碰撞检测”。这都是关于数学的。
| 归档时间: |
|
| 查看次数: |
1335 次 |
| 最近记录: |