2014-04-15 2 views
1

Icon 태그에서 Base64 인코딩 이미지를 사용할 수 있습니까? 이미지를 인코딩 된 데이터 앞에 추가 된 image/png; base64 데이터를 사용하여 성공없이 시도했지만 KML을로드하면 여전히 빨간색 X가 표시됩니다.Google 어스의 Base64 인 코드 아이콘

+0

정말 그 수치심 3 년 후에 Google 어스는 여전히 이것을 지원하지 않습니다. – Mojimi

답변

1

KML의 오버레이 (화면 오버레이, 지상 오버레이 등) 및 Style 참조를 통한 아이콘 이미지는 다른 XML 표준에서 허용되는 인라인 base64 인코딩 콘텐츠가 아닌 절대 또는 상대 URL로만 참조됩니다. 절대 URL로

아이콘 스타일 예 : 상대 URL과

<Style> 
     <IconStyle> 
     <Icon> 
      <href>http://maps.google.com/mapfiles/kml/pal3/icon21.png</href> 
     </Icon> 
     </IconStyle> 
</Style> 

지상 오버레이 이미지 예 :

URL에 "데이터 KML에서 참조 할 수있는 이론적으로
<GroundOverlay> 
    <Icon> 
     <href>etna.jpg</href> 
    </Icon> 
</GroundOverlay> 

: 이미지/PNG; base64 ... "이지만 해당 사용은 이며 공식 KML standard에 정의되어 있지 않으며 Google 어스에도 구현되어 있지 않습니다.

base64로 인코딩 된 이미지를 가질 수 있으며 KML 기능 description에서 HTML 및 JavaScript 코드를 통해 액세스 할 수 있지만 이는 KML의 컨텍스트 외부이며 빨간색 X를 볼 수 없습니다. KML은 대부분의 JavaScript를 지원하므로 설명 풍선에 인라인 이미지를 표시 할 수 있습니다.

즉, KML에서 참조되는지도에 표시되는 오버레이 이미지 또는 아이콘의 경우 이미지 또는 아이콘을 base64로 인코딩 할 수 없지만 이미지를 압축하고 KML을 기준으로 이미지를 압축하여 KMZ file. 압축 된 KMZ 파일에 이미지를 포함 시키면 처음부터 이미지를 base64로 인코딩 할 필요가 없습니다.

관련 문제