Google Maps API与IE8有关

时间:2009-07-17 02:02:32

标签: javascript google-maps

我正在编写一个使用谷歌地图的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版本是否存在运行此命令所需插件的问题。

1 个答案:

答案 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);' />