google maps api v3 добавить новые вершины многоугольника без пересечения или самопересекающихся
Кажется, что этот может быть слишком трудным даже для гуру, поэтому я попытаюсь перефразировать его, чтобы попытаться получить некоторый ответ: я пытаюсь интеллектуально добавить вершину или вершины к существующему многоугольнику без пересечений или самопересечения, но все, что я Можно найти следующий сложный пример V2: http://www.kashey.ru/pages/maps/basic_poly_editor_test.php Я хотел бы сделать то же самое, но с использованием Google Maps api V3. Кто-нибудь знает способ определения того, какая из существующих сторон многоугольника или ребра многоугольника является ближайшей или ближайшей к точке, которую вы щелкаете рядом с этим многоугольником? Я считаю, что это требует серьезных математических и триггерных функций, но пока я не могу найти никого, кто сделал бы это с помощью Google Maps api V3. Может быть, если кто-нибудь скажет мне, как преобразовать код V2 выше в V3, то я мог бы работать с этим. Любая помощь могла бы быть полезна.
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>