Я хочу создать интерактивный многоугольник на картах Google, и после щелчка будет выделен только этот многоугольник. он следует обряду иерархии сверху вниз, от выбора штата, затем округа, затем поселка и последней части. У меня есть только файл shp с информацией о поселках для разных округов. Мне удалось преобразовать файлы shp в kml и импортировать их в карты Google, но их нельзя редактировать. также я не могу извлечь какую-либо информацию из многоугольников, созданных из kml, чтобы я мог использовать пары lat, lon для дальнейшего углубления
многоугольник карт Google доступен для кликов и масштабируется
Ответы (1)
Событие Onclick для наложений KML передает только свойства из раздела KmlFeatureData вашего KML. Поэтому, если вы хотите получить какие-либо параметры из KML, вам необходимо поместить их в этот раздел. Точки многоугольника недоступны! Событие click возвращает следующую структуру JSON, доступную из вашего кода, а также позицию, которая обычно является центром многоугольника / объекта:
{
author: {
email: "[email protected]",
name: "Mr Nobody",
uri: "http://example.com"
},
description: "description",
id: "id",
infoWindowHtml: "html",
name: "name",
snippet: "snippet"
}
см. http://code.google.com/apis/maps/documentation/javascript/overlays.html#KMLLayers для получения дополнительных сведений.
Вы можете использовать одно из этих полей в качестве названия KML-файлов нижнего уровня для детализации.
В качестве альтернативы вы можете читать KML как XML-файл и читать и обрабатывать его содержимое на стороне клиента и рисовать свои полигоны из данных, полученных таким образом ... Этот подход подходит, если ваши полигоны не детализированы.