2009-07-17 5 views
1

Google지도를 사용하는 HTML 양식을 작성하고 있지만 화면의 복잡도를 줄이기 위해 Google 인터페이스를 제거하고 간단한 제출 버튼을 사용하여지도 유형을 변경했습니다. (위성, 하이브리드 및 정상). 내가 가지고있는 문제는 IE가 다음을 허용하지 않기 때문입니다. map.setMapType(G_SATELLITE_MAP);Google지도 API와 IE8의 관련이 있습니다.

내 응용 프로그램이 사파리와 FF에서 멋지게 작동하지만 IE8에서 전혀 작동하지 않는다는 사실이 혼란 스럽습니다. 그냥 여기 참조

은 내가 부르고 기능입니다 :

function map_type_sat() 
{ 
    map.setMapType(G_SATELLITE_MAP); 
    return true; 
} 

여기에 내가 그것을 호출 오전 방법입니다

<form action ="#" onsubmit="return map_type_sat()"> 
<input type="Submit" value="satellite"> 
</form> 

사람이 원인이 될 것입니다 어떤 문제가되지 볼 수 있습니다 또는이 명령을 실행하는 데 필요한 플러그인이있는 IE 버전에 문제가있는 것입니다.

답변

2

왜지도 제출을 사용하여지도 유형을 설정하는지 잘 모르겠습니다. 사실, 이것은 IE에서 다르게 처리 될 수 있습니다. 잠재적으로 '#'대상 작업으로도 전체 게시물을 되돌릴 수 있습니다. 이를 변경하여 일반 입력 버튼에 대한 클릭 핸들러를 사용하고 양식을 생략하십시오. 또한 함수에서 값을 반환 할 필요가 없습니다.

function map_type_sat() 
{ 
    map.setMapType(G_SATELLITE_MAP); 
} 

<input type='button' value='satellite' onclick='map_type_sat()' /> 

또는 더 나은,

function set_map_type(type) 
{ 
    map.setMapType(type); 
} 

<input type='button' value='normal' onclick='set_map_type(G_NORMAL_MAP);' /> 
<input type='button' value='satellite' onclick='set_map_type(G_SATELLITE_MAP);' /> 
<input type='button' value='hybrid' onclick='set_map_type(G_HYBRID_MAP);' />