KML-файл не показывает правильное расположение и ориентацию многоугольника. Проблема с синтаксисом?

Привет, я написал Javascript для вывода файла KML на основе многоугольной области, отмеченной на Google Maps api v3. Используемый файл работал правильно, правильно отображал местоположение и форму многоугольника в Google Планета Земля Про.

Теперь внезапно вместо того, чтобы показывать Лондонский глаз в Лондоне, он показывает область в Конго, и многоугольник даже не отображается правильно на Google Earth. Я попытался отладить, похоже, что координата вызывает проблему. Однако, когда я сохраняю его в MyPlaces на картах Google в Интернете, он анализирует KML и правильно показывает форму и местоположение. Спасибо за вашу помощь. KML ниже

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>test</name><description>test</description>
<Style id='style1'>
<LineStyle>
<width>5</width>
  </LineStyle>
<PolyStyle>
<color>0FF00000</color>
<fill>1</fill>
 <outline>1</outline>
 </PolyStyle>
 </Style>
<Placemark>
 <name>?</name>
<styleUrl>#style1</styleUrl>
<Polygon>
<outerBoundaryIs>
 <LinearRing>
 <tessellate>1</tessellate>
<coordinates>
51.50519078602326, -0.12681582942195746, 
51.50708732603467, -0.12381175532527777, 
51.50553804573176, -0.1123104430694184, 
51.50166461450478, -0.11462787165828558, 
51.50519078602326, -0.12681582942195746, 
</coordinates></LinearRing></outerBoundaryIs></Polygon></Placemark>
</Document>
</kml>

person user1264719    schedule 12.03.2012    source источник


Ответы (1)


Ваш KML недействителен, и Google Планета Земля уже не так снисходительно, как при приеме неверных координат этого типа.

В частности, у вас есть дополнительная запятая в конце каждой строки в вашем KML - поэтому просто удалите их или добавьте после них необязательное значение высоты.

Также удалите пробелы между отдельными частями координаты. Теперь ваши координаты будут преобразованы Google Планета Земля в три отдельные координаты: 51.50519078602326,0,0 и -0.12681582942195746,0,0 и 0,0,0.

Измените его на:
51.50519078602326, -0.12681582942195746,0
51.50708732603467, -0.12381175532527777,0

Or:
51.50519078602326,-0.12681582942195746
51.50708732603467,-0.12381175532527777

См. https://developers.google.com/kml/documentation/kml_tut#polygons для примера многоугольника или раздела и https://developers.google.com/kml/documentation/kmlreference#linearring для получения дополнительных сведений.

person jlivni    schedule 12.03.2012
comment
@Leon: возможно, твое редактирование должно было быть самостоятельным ответом. Я нажимаю accept, потому что это выглядит слишком полезным, чтобы проигрывать, но другие могут отклонить. Вы должны получить за это признание ... - person sarnold; 28.03.2012