【问题标题】:Google Maps | I cannot add multiple Markers on the map谷歌地图 |我无法在地图上添加多个标记
【发布时间】:2013-03-30 10:57:14
【问题描述】:

我正在尝试创建一个简单的 Google Maps API,允许最终用户在地图上添加一些标记。

问题是,虽然我可以在编程级别添加标记,但标记并没有出现在地图上。

这是在地图上添加标记的代码:

for(var i = 0; i < points.length; i++)
{
    var markerLatLng    =   new google.maps.LatLng(points[i].lat(), points[i].lng());
    var marker          =   new google.maps.Marker(
        {
            position        :   markerLatLng,
            map             :   map,
            zIndex          :   (10000 + i),
            icon            :   {
                url         :   'http://www.saronikoscity.gr/site/images/ico_web.gif',
                size        :   new google.maps.Size(16, 16, 'px', 'px')
            }
        }
    );

    markerRegistry.push(marker);
}

在这里你可以看到我的意思的一个活生生的例子:http://jsfiddle.net/merianos/n4wjw/

这有什么问题?你看出什么不对了吗?

注意:我尝试在我的地图上添加一个标记,在这种情况下它可以正常工作。问题与多个标记有关。

亲切的问候

【问题讨论】:

  • 在您的示例中,您在 $(document).ready(function(){---}) 中定义了函数...这是错误的。也没有为变量设置值
  • 哎呀!我不知道。无论如何,您认为这会损害我的脚本吗?
  • 你希望它是你的代码。但这不是一般定义函数的地方。

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


【解决方案1】:

您只是定义了两次var map,请查看here 以获得有效示例。

【讨论】:

  • 非常感谢您的帮助! :)
【解决方案2】:

此代码适用于我

var markers = [
    ['Bondi Beach', -33.890542, 151.274856],
    ['Coogee Beach', -33.923036, 151.259052],
    ['Cronulla Beach', -34.028249, 151.157507],
    ['Manly Beach', -33.80010128657071, 151.28747820854187],
    ['Maroubra Beach', -33.950198, 151.259302]
];


function initializeMaps() {
    var latlng = new google.maps.LatLng(-33.92, 151.25);
    var myOptions = {
        zoom: 10,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        mapTypeControl: false
    };
    var map = new google.maps.Map(document.getElementById("myMap"),myOptions);
    var infowindow = new google.maps.InfoWindow(), marker, i;
    for (i = 0; i < markers.length; i++) {  
        marker = new google.maps.Marker({
            position: new google.maps.LatLng(markers[i][1], markers[i][2]),
            map: map
        });
        google.maps.event.addListener(marker, 'click', (function(marker, i) {
            return function() {
                infowindow.setContent(markers[i][0]);
                infowindow.open(map, marker);
            }
        })(marker, i));
    }
}

jQuery(document).ready(
    function($)
    {
        if($('#myMap').length > 0)
        {
            initializeMaps();
        }
    }
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 2016-03-16
    • 2021-11-24
    • 2021-09-12
    • 1970-01-01
    • 2013-11-08
    相关资源
    最近更新 更多