2012-05-14 4 views
2

Google 어스 소비를위한 KML 파일에서 URL에 백분율 인 코드 문자 (예 :)가 포함 된 Google Charts 동적 아이콘을 사용하고 있습니다. 네트워크 호출을 가로채는 것으로 볼 수 있듯이 % E2 % 80 % A2 (글 머리 기호)는 Google 어스에서 % C3 % A2 % C2 % 80 % C2 % A2로 변환되어 아이콘 검색을 실패하게 만듭니다. 문제는 KML 사양이 매우 모호하다는 것입니다. IconStyle 아이콘 href 요소의 경우 "아이콘을로드하는 데 사용되는 HTTP 주소 [...]"라고만 표시됩니다. Google 어른이 기대하는 바를 명시하고 백분율로 인코딩 된 문자가있는 KML 파일의 아이콘 URL을 올바르게 작성하는 방법은 무엇입니까?퍼센트 인코딩 된 URL이 Google 어스에서 변경되었습니다.

것은 나에게 위의 URL은 어떻게 든 잘못된 방법 어쩌면에 대한 슬픔을 포기하지 마십시오 : 그것은 (앰퍼샌드 를 교체 한 후) 브라우저에서 잘 작동하고 중간 dynamic icons developer reference을 통해 약 그냥 같은 예제가있다.

실제의 KML 예제 파일은 다음과 같습니다

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2"> 
<Document> 
    <Folder> 
    <Placemark> 
     <Style> 
     <IconStyle> 
      <scale>1.6</scale> 
      <Icon> 
      <!-- doesn't work --> 
      <href>http://chart.apis.google.com/chart?chst=d_map_pin_letter_withshadow&#x26;chld=%E2%80%A2|cccccc|000000</href> 
      </Icon> 
     </IconStyle> 
     </Style> 
     <Point> 
     <coordinates>-3.67,40.51</coordinates> 
     </Point> 
    </Placemark> 
    <Placemark> 
     <Style> 
     <IconStyle> 
      <scale>1.6</scale> 
      <Icon> 
      <!-- works --> 
      <href>http://chart.apis.google.com/chart?chst=d_map_pin_letter_withshadow&#x26;chld=O|cccccc|000000</href> 
      </Icon> 
     </IconStyle> 
     </Style> 
     <Point> 
     <coordinates>-3.68,40.52</coordinates> 
     </Point> 
    </Placemark> 
    </Folder> 
</Document> 
</kml> 
+0

그것은 기괴합니다. 다른 매개 변수 (예 : cccccc => % 63 ...)를 인코딩 할 수 있기 때문에 인코딩이 아닙니다. 차트 api가 특정 문자를 .... 반환하고 싶지 않은 것처럼 보이지만 다른 한편으로는 Firefox에서 동일한 내용에 액세스 할 때 제대로 작동합니다 (올바른 이미지가 반환 됨). 이상합니다. –

+0

(wireshark에서 변경된 인코딩을 확인했지만 ...). 나는 네가 맞다고 생각해. 어딘가에 인코딩이 엉망이되고있다. 나는 이것이 버그라고 생각한다. –

답변

0

내가 긴 소강 상태 후 다시 이것에 와서 답을 발견했다. URL을 삽입하기 때문에 URL 인코딩 가이드 라인을 적용해야하지만 KML에서는 특수 엔터티가 유니 코드가되고 URL에서도 인코딩되지 않을 것으로 기대합니다! 즉이 필요합니다

돌이켜에서
<href>http://chart.apis.google.com/chart?chst=d_map_pin_letter_withshadow&#x26;chld=&#x2022;|cccccc|000000</href> 

것을 그것을 필요로한다는 사실 "& # 26;" 앰퍼샌드에 대한 올바른 트랙에 넣어해야하지만 뒤늦은 생각은 항상 20/20 ...

관련 문제