1

У меня есть .shp файл и попытался преобразовать его со многими инструментами (shp2kml, ESRI converter, qgis) в файл kml. Когда я более подробно смотрю в файл kml, координаты, похоже, отличаются от координат в той же области, когда я указываю местоположение в Google Maps. С другой стороны, все формы, кажется, представлены внутри файла kml ... однако я не могу получить их в Карте Google (я хочу использовать Карты Google не Google Earth).Как преобразовать файлы .shp или .kml в координаты полигонов Google Maps?

Это не мое намерение позволить Google Maps читать файл .kml, потому что я хотел бы иметь polygons available for coding.

Теперь я хотел бы преобразовать .kml (или оригинальный .shp-файл) в полигоны Google Maps (каждая фигура - многоугольник). Как я могу это достичь?

Имея правильные координаты для полигонов Google Карт из файла, будет для меня большой победой. В Google я не смог найти ответ.

Спасибо!

+1

вы смотрели на третьей партии KML анализаторами ([geoxml3] (https://code.google. com/p/geoxml3 /) и [geoxml-v3] (https://code.google.com/p/geoxml-v3/))? Они будут использовать KML-файл в том же домене и отображать его с помощью собственных API-интерфейсов Google Maps Javascript API v3. – geocodezip

+1

KML может быть время от времени с помощью API Карт Google. Я предпочитаю использовать [gdal ogr2ogr] (http://www.gdal.org/ogr2ogr.html) для преобразования шейп-файла в GeoJSON. GeoJSON довольно легко конвертировать в карты Google Maps. Существует даже сторонняя JS-библиотека, называемая [geojson-google-maps] (https://github.com/JasonSanford/geojson-google-maps). –

ответ

0

У меня была такая же проблема!

если объект функция является Полигон:

if (event.feature.getType()=='Polygon'){ 
    var gP = event.feature.getGeometry(); //return Polygon geometry object 
    var gLG = gP.getArray()[0]; //return the LinearRing geometry object 
    var arPnt = gLG.getArray(); //return the points of the LinearRing 
    var poly = new google.maps.Polygon({paths: arPnt }); 
} 

В одной строке:

var poly = new google.maps.Polygon({paths: event.feature.getGeometry().getArray()[0].getArray()}); 
Смежные вопросы