谷歌地图API:试图使用数组删除多个标记

Google Maps API: Trying to drop multiple markers using an array

本文关键字:删除 数组 API 谷歌地图      更新时间:2023-09-26

我不确定我的代码出了什么问题,但这就是我目前所拥有的:

<script type="text/javascript">
    function initialize() {
        var locations = [
            ['Passage Island', 49.343085, -123.305938],
            ['Point Atkinson', 49.329925, -123.264994]
        ];
        var mapOptions = {
            center: new google.maps.LatLng(49.343085, -123.305938),
            zoom: 13,
            mapTypeControl: false,
            panControl: false,
            streetViewControl: false,
            zoomControl: false,
            disableDoubleClickZoom: true,
        };
        var map = new google.maps.Map(document.getElementById('map'),
            mapOptions);
        var marker, i;
        for(i=0; i < locations.length; i++){
            marker = new google.maps.Marker({
            position: new google.maps.LatLng(locations[i][1], locations[i][2]),
            map: map
        });
    }
    google.maps.event.addDomListener(window, 'load', initialize);
}
</script>

在我尝试使用数组放置标记之前,我已经能够加载带有标记的地图。但每个标记都是var marker = new google.maps.Marker({....,所以我认为如果我想做多个标记,就应该使用数组。现在,由于我已经开始尝试使用数组,映射一开始甚至不会加载。任何帮助都将不胜感激!

如果函数未在load上调用,则不应在函数中包含此行:google.maps.event.addDomListener(window, 'load', initialize);。您的代码很好,只是您从内部调用了initialize函数,因此根本不会调用它。

google.maps.event.addDomListener(window, 'load', initialize);放置在函数之外。

演示:http://jsfiddle.net/lotusgodkk/pGBZD/160/

我认为您已经在initialize()函数中编写了google.maps.event.addDomListener(window, 'load', initialize);语句。你应该在外面写。