谷歌地图api,Postgis,Multipolygon

时间:2010-06-24 08:55:33

标签: api google-maps polygon postgis

Multipolygon的PostGis WKT格式是:

MULTIPOLYGON(
((20.229 39.409,20.2241 39.401,20.220 39.410,20.229 39.409)),
((20.209 39.407,20.223 39.400,20.211 39.402,20.209 39.4076))
)

Google Maps api v3 Polygon是:

var triangleCoords = [
    new google.maps.LatLng(25.774252, -80.190262),
    new google.maps.LatLng(18.466465, -66.118292),
    new google.maps.LatLng(32.321384, -64.75737)
  ];

问题是: 我可以在谷歌地图中创建多边形吗?

3 个答案:

答案 0 :(得分:1)

PostGIS直接支持多种输出格式:

http://postgis.refractions.net/documentation/manual-1.5/ch08.html

请参阅ST_As ()函数。

Google Maps API也支持其中一些(SVG,KML等)。您应该尝试使用两种说法的格式。现在我不确定Google Maps是否接受任何这些格式的多边形。但是你总是可以使用ST_Simplify()函数。

答案 1 :(得分:0)

var multipolygon=[
[new google.maps.LatLng(x1,y1),new google.maps.LatLng(x2,y2),new google.maps.LatLng(x3,y3)],
.
.
.
[new google.maps.LatLng(x4,y4),new google.maps.LatLng(x5,y5),new google.maps.LatLng(x6,y6)]
];

答案 2 :(得分:0)

这有点旧,但我只是在做同样的事情,尝试在Google地图中创建GeoJSON文件中的MultiPolygons,所以我想我会分享。

基本上,不,你不能。但是你可以创建一个解决方法。

首先创建一些东西来管理各个子多边形(对象,数组等)。然后用多边形的每个部分填充该对象。然后,您可以通过自定义方法或迭代方法将子多边形视为一个组。

请参阅http://www.alecbennett.com/projects/loadgeojson,了解在Google地图v3中悬停时突出显示的“MultiPolygon”快速演示。数据是从GeoJSON文件加载的,因此与WKT版本类似。