2011-08-09 4 views
1

위치 표시에 두 개의 이름이 표시되고 위치 표시 위에 마우스를 놓았을 때 표시되는 위치와 마우스를 놓은 상태로 표시되지 않는 위치가 있습니다. 내가 찾은 유일한 정보는 강조 표시된 장소 표시 스타일의 스타일 (아이콘 유형, 색상, 불투명도, 크기)을 변경하는 것입니다. 어떤 제안? 이것이 가능한가?동적 KML 장소 표시 이름 표시가 가능합니까?

http://code.google.com/apis/kml/documentation/kml_tut.html#custom_styles

답변

1

당신은 의사 이름 (필요한 텍스트의 이미지)와 같은 방식으로 의사 이름을 통해 다른 롤을 제시하는 사용자 정의 아이콘을 사용할 수 있습니다.

당신은 KML 지금과 같을 것이다

nameImageOver.jpg 

nameImageNormal.jpg 

두 개의 JPG 이미지를 생성하고 업로드 할 필요가 그것을 사용하는 "강조 아이콘의 스타일을"라고합니다 :

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2"> 
    <Document> 
    <name>Highlighted Icon</name> 
    <description>Mouse over to see the swap</description> 
    <Style id="highlightPlacemark"> 
     <IconStyle> 
     <Icon> 
     <href>http://www.yourserver.com/nameImageOver.jpg</href> 
     </Icon> 
     </IconStyle> 
    </Style> 
    <Style id="normalPlacemark"> 
     <IconStyle> 
     <Icon> 
      <href>http://www.yourserver.com/nameImageNormal.jpg</href> 
     </Icon> 
     </IconStyle> 
    </Style> 
    <StyleMap id="exampleStyleMap"> 
     <Pair> 
     <key>normal</key> 
     <styleUrl>#normalPlacemark</styleUrl> 
     </Pair> 
     <Pair> 
     <key>highlight</key> 
     <styleUrl>#highlightPlacemark</styleUrl> 
     </Pair> 
    </StyleMap> 
    <Placemark> 
     <styleUrl>#exampleStyleMap</styleUrl> 
     <Point> 
     <coordinates>-122.0856545755255,37.42243077405461,0</coordinates> 
     </Point> 
    </Placemark> 
    </Document> 
</kml> 
+0

텍스트는 다른 장소 표시에 대해 동적입니다. 정적 제목이나 모든 가능한 콤보에 대한 이미지를 만들려는 경우 솔루션을 사용할 수 있습니다. 나는 이것을 정확한 것으로 표시 할 것이고, 그것은 어떤 상황에서 실행 가능하기 때문이다. –

+0

gdlib와 같은 것을 사용하여 서버에서 이미지를 동적으로 생성 할 수 있습니다. Google은 무료 서비스를 제공하기도합니다. 검색어로 필요한 텍스트를 입력하기 만하면됩니다. http://groups.google.com/group/google-chart-api/web/chart-type-for-text-with-outline?pli=1을 참조하십시오. – Fraser

0

Google 어스 API를 사용하여이 작업을 수행했습니다. KML을 사용하는 방법이 확실하지 않습니다.

// On mouse over - show name 
google.earth.addEventListener(placemark, 'mouseover', function(event) { 
    placemark.setName('My Placemark Label'); 
}); 
// On mouse out - hide (remove) name 
google.earth.addEventListener(placemark, 'mouseout', function(event) { 
    placemark.setName(''); 
}); 
관련 문제