【问题标题】:google maps api v3 add new polygon vertices without crossover or self-intersecting谷歌地图 api v3 添加新的多边形顶点,没有交叉或自相交
【发布时间】:2013-01-10 11:21:48
【问题描述】:
似乎这个即使对于大师来说也可能太难了,所以我会尝试重新措辞以尝试得到一些回应:
我正在尝试智能地向现有多边形添加一个或多个顶点,而无需交叉或自相交,但我能找到的只是以下复杂的 V2 示例:
http://www.kashey.ru/pages/maps/basic_poly_editor_test.php#
我想做同样的事情,但改用 Google Maps api V3。
有谁知道检测现有多边形边或多边形边最接近或最接近您在该多边形附近单击的点的方法?
我相信这需要一些严肃的数学和三角函数,但到目前为止我找不到任何使用 Google Maps api V3 完成它的人。
也许如果有人能告诉我如何将上面的 V2 代码转换为 V3,那么我可以使用它来运行。
任何帮助将不胜感激。
【问题讨论】:
标签:
google-maps-api-3
polygon
vertex
vertices
self-intersection
【解决方案1】:
试试这个:
<html>
<head>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?v=3&sensor=false"></script>
</head>
<body>
<div id="map-canvas" style="width: 100%; height: 100%; margin: 0; padding: 0;">map</div>
<script type="text/javascript">
google.maps.event.addDomListenerOnce(window, 'load', function initialize() {
var container = document.getElementById('map-canvas');
var map = new google.maps.Map(container, {
center: new google.maps.LatLng(37.4419, -122.1419),
zoom: 13
});
var vertexes = [
new google.maps.LatLng(37.4419 , -122.1419),
new google.maps.LatLng(37.4419+0.03, -122.1419),
new google.maps.LatLng(37.4419 , -122.1419+0.03)
];
var polygon = new google.maps.Polygon({
paths: vertexes,
editable: true,
map: map
});
});
</script>
</body>
</html>