2009-07-17 136 views
1

我正在寫一個使用谷歌地圖的HTML表單,但爲了減少在屏幕上的雜亂的數量我已經刪除了谷歌界面,並用一些簡單的提交按鈕替換它來改變地圖類型(如衛星,混合和正常)。我遇到的問題是,IE拒絕接受:map.setMapType(G_SATELLITE_MAP);Google Maps API問題與IE8

什麼讓我感到困惑,是我的應用程序在Safari和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);' />