谷歌地图api v3添加新的多边形顶点,没有交叉或自相交

时间:2013-01-10 11:21:49

标签: google-maps-api-3 polygon vertex vertices self-intersection

看起来像这样一个人甚至对于大师来说也许太难了所以我会尝试重新说出来尝试得到一些回应: 我试图智能地添加顶点或顶点到现有的多边形而没有交叉或自相交,但我能找到的是以下复杂的V2示例: http://www.kashey.ru/pages/maps/basic_poly_editor_test.php# 我想用谷歌地图api V3做同样的事情。 有没有人知道检测哪个现有多边形边或多边形边最近或最接近在该多边形附近点击的点的方法? 我相信这需要一些严肃的数学和三角函数,但到目前为止我找不到任何使用Google Maps api V3的人。 也许如果有人能告诉我如何将上面的V2代码转换为V3,那么我可以运行它。 任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

试试这个:

 <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>