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>
Другие вопросы по тегам