我正在编写一个使用谷歌地图的HTML表单,但是为了减少屏幕上的杂乱,我删除了谷歌界面并用一些简单的提交按钮替换它来改变地图类型(例如卫星,混合和正常)。我遇到的问题是IE拒绝接受:map.setMapType(G_SATELLITE_MAP);
令我感到困惑的是,我的应用程序在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版本是否存在运行此命令所需插件的问题。
答案 0 :(得分: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);' />