2012-07-18 5 views
0

몇 개의 아이콘으로 채워지는 Google지도가 있습니다. 내 마커를 http://chart.apis.google.com/chart?chst=d_map_xpin_icon&chld=pin|glyphish_star|FFFF00|0000FF에서 받고 있습니다. 일부 고객의 브라우저 보안은 이러한 이미지가 다운로드되는 것을 방지하며이를 감지하여 기본 이미지로 되돌리고 싶습니다.google.maps.MarkerImage 객체가 비어 있는지 감지합니다.

var gmMarkerImage = new google.maps.MarkerImage(
    "http://chart.apis.google.com/chart?chst= 
    d_map_xpin_icon&chld=pin| 
    glyphish_star| 
    FFFF00| 
    0000FF" 
) 

gmMarkerImage 객체가 이미지가 아니거나 비어 있는지 어떻게 알 수 있습니까? 또는 chart.apis.google.com 사이트에서 아무 것도받지 못했다고 어떻게 결정합니까?

+0

'console.log (gmMarkerImage);를 시도해보고 google에서 얻은 정보를 볼 수 있습니다. 객체 및 일부 속성이있을 수 있습니다. –

+0

인증서 문제로 인해 IE를 사용해야 페이지를 볼 수 있습니다. 그리고 타사 앱을 설치할 수 없습니다. 그래서 방화범을 가지고 디버깅 할 때 내 손이 묶여있다. 그것은 빤다. 그러나 그것은 나의 환경이다. –

답변

0

Google Maps API를 사용하면 기본 DOM 객체에 액세스 할 수 없습니다. 받은 MarkerImage 객체에는 마커에 대한 정보 만 포함되어 있으며 HTML 또는 DOM 객체로 렌더링하면 해당 정보를 읽습니다.

한 걸음 더 나아가 사용자가 이미지에이 맞춤 URL을 사용할 수없는 이유는 비 SSL 참조를 신뢰할 수 없다는 것입니다 (true). 또는 그들은 일반적으로 chart.google.com 도메인을 신뢰하지 않습니다 (이는 지연 될 수 있지만 여전히 그렇습니다). 지도에 연결되지 않은 페이지에 보이지 않는 이미지를 포함시키고이 이미지에서 onError 이벤트를 처리하면이 문제를 테스트 할 수 있습니다. 이미지의 onError은 일반적으로 404, 403 등의 이유로 리소스를로드 할 수 없음을 나타냅니다.이 이미지에 오류가 발생하면 모든 마커를 반복하여 URL을 대체로 설정할 수 있습니다.

+0

이것이 내가 필요한 것 같습니다. onError 이벤트 처리기를 사용해 보겠습니다. 감사. –

관련 문제