指向多边形(Google Maps API v3)

时间:2011-08-09 09:52:10

标签: javascript google-maps-api-3 polygon raycasting

我有一个谷歌地图api v3,它使用“The Di Lab”的多边形绘图插件:

http://www.the-di-lab.com/?p=219

然后使用tparkins插件进行光线投射。

https://github.com/tparkin/Google-Maps-Point-in-Polygon

但是,我需要从多边形插件访问多边形对象。多边形插件中实际绘制地图上的多边形的部分是:

this.polygonObj= new google.maps.Polygon({
                paths: this.coords,
                strokeColor: "#FF0000",
                strokeOpacity: 0.8,
                strokeWeight: 2,
                fillColor: "#FF0000",
                fillOpacity: 0.35,
                map:this.map
});

我会用:

创建地图

var creator = new PolygonCreator(map);

然后我必须通过调用来执行多边形中的点:

var isWithinPolygon = polygonObj.containsLatLng("52,0");

例如:

var coordinate = new google.maps.LatLng(40,90);                                                                                                                                                                                                       
var polygon = new google.maps.Polygon([], "#000000", 1, 1, "#336699", 0.3);
var isWithinPolygon = polygon.containsLatLng(coordinate);

基本上我只需要第一个脚本中的多边形对象。这两个javascript文件如下:

http://80.229.168.62/guild_service/server/js/polygon.min.js

http://80.229.168.62/guild_service/server/js/latlngcontains.js

运行脚本的页面是:

http://80.229.168.62/guild_service/server/map_view.php

2 个答案:

答案 0 :(得分:1)

如果你是通过creator.pen.drawPloygon()创建多边形(不,这不是我的错字 - 函数真的是在polygon.min.js中拼写的那样),那么你应该能够检索它来自creator.pen.polygon.getPolygonObj()

答案 1 :(得分:1)

嗨请注意多边形创建者URL已移至 http://www.startutorial.com/articles/view/google-map-api-v3-polygon-shape-creator

:)

此致 XD
www.the-di-lab.com