Google Maps映射在一个函数中定义的全局变量,但不在另一个函数中定义?

时间:2013-05-05 18:42:34

标签: javascript google-maps-api-3

我正在开发一个非常简单的Google地图项目。

'map'被定义为全局变量。

功能'initialize'从谷歌纵横获取信息,创建地图,设置标记和信息窗口,并设置调用函数'更新'的间隔。它工作正常。

函数'update'应该取消设置标记,关闭infowindow,从Latitude获取新信息,设置新标记和infowindow,并平移到新地图中心。从“未定义”错误中可以清楚地看出,在更新函数中无法识别映射变量。由于'map'是一个全局变量,并且已经创建了地图,我不应该仅仅引用变量吗?

示例代码:

<script type="text/javascript">  
    var map = null;  
    var marker = null;

    function initialize() {

        map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
        marker = new google.maps.Marker({
                position:markerlocation,
                map:map,
                visible:true
        });

        setInterval(function(){update()},5000);

    } // end function initialize

    function update() {

        marker.setmap(null);
        infowindow.close:

    // do other stuff

    } // end function update
</script>

1 个答案:

答案 0 :(得分:1)

当这是真正的代码时,“未定义”的东西是函数setmap,它应该是setMap