Как получить путь () с geoXML3

У меня было более 600 kml файлы для загрузки в одной карте Google. Изначально я пытался с KmlLayer(), но это не сработало из-за количества kml файлы, так что я нашел GeoXML3и это работает действительно хорошо.

Теперь мне нужно получить координаты пути для каждого многоугольника, созданного с помощью GeoXML3. Здесь я нашел метод getPaths() кажется, это то, что я ищу, но это не работает, потому что теперь я не создаю полигоны, используя класс Polygon но используя класс geoxml3

for (i=0; i < controlli.length; i++)
{   
    appo = kmlurl + controlli[i].id + ".kml";
    appo = appo.replace(" ", '_');
    area[controlli[i].id] = new geoXML3.parser({
        map: map,
        zoom: false,
    });
    area[controlli[i].id].parse(appo);
    //here I would like to do something like: 'area[controlli[i].id].getPaths()'
}

Как я могу это сделать?

1 ответ

Доступ к объектам google.maps.Polygon, созданным geoXml3 для представления полигонов KML, можно получить двумя способами:

  1. area[controlli[0].id].docs[0].placemarks[0].polygon.getPath()

работает jsfiddle

  1. area[controlli[0].id].docs[0].gpolygons[0].getPath()

работает jsfiddle

где geoXml - это ссылка на объект парсера (ваш area[controlli[i].id]) и я - это последовательная ссылка на метки (или полигоны) в KML).

Если вы используете его в асинхронно загружаемом файле KML, вам нужно дождаться parsed событие или использовать данные в afterParse функция.

Другие вопросы по тегам