谷歌地图 API、Postgis、Multipolygon

发布于 2024-09-06 19:44:51 字数 477 浏览 5 评论 0原文

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

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

PostGis WKT format of Multipolygon is:

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

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

The question is:
Can i create a multipolygon in google maps?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

↘紸啶 2024-09-13 19:44:51

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

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

查看 ST_As() 函数。

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

PostGIS supports a number of output formats directly:

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

See the ST_As() funcs.

The Google Maps API supports a number of these as well (SVG, KML, etc.). You should try using a format that both speak. Now I'm not sure if Google Maps accepts multipolygons in any of these formats. But you could always use the ST_Simplify() func.

故乡的云 2024-09-13 19:44:51
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)]
];
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)]
];
甜尕妞 2024-09-13 19:44:51

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

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

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

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

This is a little old, but I was just working on the same thing, trying to create MultiPolygons from GeoJSON files in Google Maps, so thought I would share.

Basically, no, you can't. But you can create a workaround.

First create something to manage the individual sub-polygons (object, array, etc). Then populate that object with each portion of the multipolygon. Then you can treat the sub-polygons as a group, via custom methods or iteration through them.

See http://www.alecbennett.com/projects/loadgeojson for a quick demo of "MultiPolygon" highlighting on hover in Google Maps v3. Data is loaded from a GeoJSON file, so would be a similar approach to the WKT version.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文