【问题标题】:Google Maps API: Trying to drop multiple markers using an arrayGoogle Maps API:尝试使用数组删除多个标记
【发布时间】:2014-09-02 20:03:12
【问题描述】:

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

<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({....,所以我认为如果我想做多个标记,我应该使用数组。现在,自从我开始尝试使用数组以来,地图甚至都不会加载。任何帮助将不胜感激!

【问题讨论】:

  • 作为这里的新用户,让我告诉你,如果你找到了你的问题的解决方案或者你可以回答你的问题,那么你应该在这里接受答案,以帮助其他人了解适合您的解决方案。要接受,您应该单击每个答案附近的上下箭头下方的勾号。每个问题您只能接受一个答案。

标签: javascript arrays google-maps google-maps-api-3 google-maps-markers


【解决方案1】:

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

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

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

【讨论】:

  • 我们的答案在秒数上有差异,但小提琴 +1。干得好!
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2013-05-02
    • 2017-03-25
    • 2014-07-15
    • 2019-10-03
    • 2012-07-20
    • 2012-05-24
    • 2014-08-04
    • 1970-01-01
    • 2014-11-26
    相关资源
    最近更新 更多