Google Maps API, Postgis, Мультиполигон - PullRequest
1 голос
/ 24 июня 2010

Формат многополигона 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)
  ];

Вопрос в следующем: Могу ли я создать мультиполигон в Google Maps?

Ответы [ 3 ]

1 голос
/ 24 июня 2010

PostGIS поддерживает несколько форматов вывода напрямую:

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

См. Функции ST_As ().

API Карт Googleподдерживает ряд из них (SVG, KML и т. д.).Вы должны попробовать использовать формат, который говорит оба.Теперь я не уверен, что Google Maps принимает мультиполигоны в любом из этих форматов.Но вы всегда можете использовать ST_Simplify () func.

0 голосов
/ 26 апреля 2013

Это немного старый, но я просто работал над тем же, пытаясь создать MultiPolygons из файлов GeoJSON в Google Maps, поэтому подумал, что поделюсь.

По сути, нет, вы не можете. Но вы можете создать обходной путь.

Сначала создайте что-то для управления отдельными подполигонами (объект, массив и т. Д.). Затем заполните этот объект каждой частью мультиполигона. Затем вы можете рассматривать подполигоны как группу с помощью пользовательских методов или итерации по ним.

См. http://www.alecbennett.com/projects/loadgeojson для быстрой демонстрации выделения "MultiPolygon" при наведении курсора в Google Maps v3. Данные загружаются из файла GeoJSON, поэтому подход будет аналогичен версии WKT.

0 голосов
/ 24 июня 2010
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)]
];
...