Google Earth KML неправильно отображает стиль воздушного шара - PullRequest
2 голосов
/ 06 мая 2011

Эта проблема мучает меня около 2 дней, Google не помогает мне разобраться в этом. В основном, код ниже должен определять текст внутри всплывающей подсказки. К сожалению, это не работает таким образом. Мы заканчиваем тем, что кажется запасным вариантом, если GE не может обработать стиль, определенный в KML.

Вот один (из многих) способов, которыми я пытался вставить KML прямо в плагин GE для рендеринга.

var kmlString = '' +
'<?xml version="1.0" encoding="UTF-8"?>' +
'<kml xmlns="http://www.opengis.net/kml/2.2">' +
'  <Document>' +
'    <Style id="sitegeom">' +
'      <BalloonStyle>' +
'       <text>' +
'           <![CDATA[' +
'           this is<br>a test' +
'           ]]>' +          
'       </text>' +
'      </BalloonStyle>' +
'    </Style>' +
'  </Document>' +
'</kml>';

var kmlObject = $wnd.ge.parseKml(kmlString);
$wnd.ge.getFeatures().appendChild(kmlObject);

Код, на котором основан этот фрагмент, взят непосредственно из документации GE. Пойди разберись. У кого-нибудь есть идея?

Ответы [ 2 ]

2 голосов
/ 18 мая 2011

Документ KML, который вы добавляете позже, скорее всего, не сможет получить доступ к идентификатору #sitegeom, который вы определили в начале в отдельном документе KML, он не входит в область действия.

Попробуйте выполнить документ Google Планета Земля инструкции: это , поместив определение стиля в отдельный файл:

Если определение стиля находится в том же файле, перед идентификатором стиля следует поставить знак #.Если определение стиля находится во внешнем файле, включите в него полный URL-адрес.

, например:

<styleUrl>http://www.example.com/path/to/your/style.kml#sitegeom</styleUrl>
1 голос
/ 11 мая 2011

Может быть, вопрос мне не так понятен, но я думаю, вам нужно описать Placemark в вашем KML и определить свой стиль в styleUrl Как это:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <Style id="sitegeom">
      <BalloonStyle>
       <text>
           <![CDATA[
          this is<br>a test
           ]]>          
       </text>
      </BalloonStyle>
    </Style>
    <Placemark>
        <Point>
            <coordinates>104.30000001,52.283333343333</coordinates>
        </Point>
        <styleUrl>#sitegeom</styleUrl>
    </Placemark>
  </Document>
</kml>

Это правильная идея?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...