1

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)
  ];

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

4

3 回答 3

1

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

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

请参阅 ST_As () 函数。

Google Maps API 也支持其中的一些(SVG、KML 等)。您应该尝试使用双方都说的格式。现在我不确定谷歌地图是否接受任何这些格式的多面体。但是你总是可以使用ST_Simplify()函数。

于 2010-06-24T11:50:59.027 回答
0

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

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

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

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

于 2013-04-26T17:51:27.447 回答
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)]
];
于 2010-06-24T15:03:39.630 回答