2014-12-20 5 views
1

Я думаю, что это одна из тех ошибок, в которых я «не вижу лес для деревьев». Я работаю над этим несколько дней, и я не могу точно определить проблему. Это не должно быть так сложно; но я думаю, что я слишком близко к коду (или слишком незнакомому с .kml), чтобы увидеть его.Значок в файле Google Earth .kml

У меня есть этот .kml файл, который я разместил ниже. Я исключил большинство из них, так что он просто отображает один адрес с проблемой. (Файл первоначально имел теги «IconStyle» для десятков или более квадратов с цветами.)

Мой .kml-файл потянет адрес Walmart в Google Earth. Значок Я хочу отображаться находится по этому адресу (из файла): http://maps.google.com/mapfiles/kml/pal4/icon18.png (Это квадрат внутри зеленый круг.)

Но что показывает вместо этого, когда я запускаю код, приведенный ниже, является красным квадратом! Тщательные глаза были бы так оценены! Благодаря!

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://earth.google.com/kml/2.1/"> 
<Document> 
<name>test.kml</name> 
<description>testIcon</description> 
<LookAt> 
<longitude>-111.5863733742289</longitude> 
<latitude>39.55637809106051</latitude> 
<altitude>0</altitude> 
<range>610178.2115040587</range> 
<tilt>-1.037184070538429e-013</tilt> 
<heading>0.5510762374861048</heading> 
</LookAt> 
<StyleMap id="te"> 
<Pair> 
<key>normal</key> 
<styleUrl>#te1</styleUrl> 
</Pair> 
<Pair> 
<key>highlight</key> 
<styleUrl>#te2</styleUrl> 
</Pair> 
</StyleMap> 
<StyleMap id="fac"> 
<Pair> 
<key>normal</key> 
<styleUrl>#fac1</styleUrl> 
</Pair> 
<Pair> 
<key>highlight</key> 
<styleUrl>#fac2</styleUrl> 
</Pair> 
</StyleMap> 
<Style id="te1"> 
<IconStyle> 
<color>ff87ff66</color> 
<scale>0.8</scale> 
<Icon> 
<href>http://maps.google.com/mapfiles/kml/pal4/icon56.png</href> 
</Icon> 
</IconStyle> 
<LabelStyle> 
<scale>0</scale> 
</LabelStyle> 
</Style> 
<Style id="te2"> 
<IconStyle> 
<color>8887ff66</color> 
<scale>1.2</scale> 
<Icon> 
<href>http://maps.google.com/mapfiles/kml/pal4/icon56.png</href> 
</Icon> 
</IconStyle> 
</Style> 
<Style id="fac1"> 
<IconStyle> 
<scale>1.0</scale> 
<Icon> 
<href>http://maps.google.com/mapfiles/kml/pal4/icon18.png</href> 
</Icon> 
</IconStyle> 
<LabelStyle> 
<scale>0</scale> 
</LabelStyle> 
</Style> 
<Style id="fac2"> 
<IconStyle> 
<color>66ffffff</color> 
<scale>1.3</scale> 
<Icon> 
<href>http://maps.google.com/mapfiles/kml/pal4/icon18.png</href> 
</Icon> 
</IconStyle> 
</Style> 
<Placemark> 
<name>Walmart</name> 
<address>1710 E Skyline Dr, South Ogden, UT 84405</address> 
<styleUrl>#te</styleUrl> 
<description><![CDATA[<div>Some Text</div>]]></description> 
<styleUrl>#fac</styleUrl> 
</Placemark> 
</Document> 
</kml> 
+0

Обратите внимание, что у вас есть два элемента styleUrl в метке, которые недопустимы в отношении KML (только один элемент стиляUrl разрешен на метку) - https://developers.google.com/kml/documentation/kmlreference#placemark – JasonM1

ответ

1

Это известная недокументированная функция в Google Планета Земля. Значки Google Maps с URL-адресом

http://maps.google.com/mapfiles/kml/pal*/icon**.png 

автоматически перенаправляется на один из стандартных значков Google Earth. Это задокументировано here (примечание 2).

Так из вашего примера, значок: http://maps.google.com/mapfiles/kml/pal4/icon18.png перенаправляется http://maps.google.com/mapfiles/kml/shapes/placemark_square.png с красным цветом заливки.
Источник URL: http://maps.google.com/mapfiles/kml/pal4/icon18.png

И этот URL: http://maps.google.com/mapfiles/kml/pal3/icon47.png получает переназначен на: https://maps.google.com/mapfiles/kml/shapes/caution.png
Источник URL: http://maps.google.com/mapfiles/kml/pal3/icon47.png

Аналогично, http://maps.google.com/mapfiles/kml/pal2/icon4.png получает переназначен на: https://maps.google.com/mapfiles/kml/shapes/parks.png
Источник URL: http://maps.google.com/mapfiles/kml/pal2/icon4.png

Если вы выберете значок с URL-адресом, отличным от , maps.google.com, то он будет отображаться как есть, так что только обходные пути являются одним из следующих: 1) выберите один из стандартных значков Google Earth (see help), 2) найти значок с стороннего веб-сайта (не maps.google.com/mapfiles/kml/pal**) или 3) скопировать изображение на внешний URL локально и обратиться к локальной копии или скопировать его на сервер.

+0

Thank вы так много! Я не знаю, когда я когда-нибудь подумал об этом. Спасибо, что объяснили это так тщательно; и перечисление этих опций. Я поместил изображение на наш сервер с URL-адресом, и он подтягивается на Google Earth! Еще раз спасибо! – Joe

+0

Не знаю, почему Google сделал это так, но когда я увидел это давно, потребовалось время, чтобы выяснить, что происходит. Черно-центрированный квадрат превратился в красный квадрат - странно. – JasonM1

Смежные вопросы