У меня есть программа, которая автоматически генерирует файлы KML для использования с Google Earth. Мой последний выход приклеивается ниже:Предотвращение создания Google MultiGeometry при загрузке KML
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Document>
<Placemark>
<name>Active Location</name>
<address>60 NORTH WILLOW STREET, MONTCLAIR, ESSEX County, New Jersey</address>
</Placemark>
</Document>
</kml>
Когда файл открыт, прямоугольный полигон создается вокруг метки, например, так:
Сохранение метки в другой документ дает следующее содержание:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>QueryOutput.KML</name>
<Placemark>
<name>Active Location</name>
<address>60 NORTH WILLOW STREET, MONTCLAIR, ESSEX County, New Jersey</address>
<MultiGeometry>
<Point>
<coordinates>-74.2122552,40.8157007,0</coordinates>
</Point>
<LinearRing>
<coordinates>
-74.21556655758907,40.81321718180819,0 -74.21556655758907,40.81818421819181,0 -74.20894384241093,40.81818421819181,0 -74.20894384241093,40.81321718180819,0 -74.21556655758907,40.81321718180819,0
</coordinates>
</LinearRing>
</MultiGeometry>
</Placemark>
</Document>
</kml>
Пользователи должны иметь возможность собирать широты/долготы данных из Point
, который затем копируется в другую форму. Поскольку метка определяется как мультигеометрия, у них нет простого доступа к этим данным. Какие изменения необходимо внести в исходный файл KML, чтобы предотвратить метку от создания мультигеометрии? Я попытался разместить теги name
и address
внутри Point
, но это приводит к тому, что координаты будут установлены на 0,0,0 при загрузке файла.
При указании значения в качестве точки (' ... '), координаты автоматически устанавливаются в '0,0,0'. Есть ли способ заставить Google Планета Земля выполнять поиск адресов на теге 'address' в теге' Point'? К сожалению, альтернатива, которую вы предлагаете (ручной поиск), к сожалению, эта система строится для замены. –
Passage
Адрес недопустимый элемент Point, поэтому по умолчанию будет задано местоположение с lat = 0, lon = 0 и т. Д. – JasonM1
В этом случае существует эффективный/быстрый способ разбить MultiGeometry вниз так, чтобы точка lat/long могла получать пользователи? – Passage