Javascript 未将地图标记添加到地图

Javascript 未将地图标记添加到地图,javascript,google-maps,closures,Javascript,Google Maps,Closures,我试图使用闭包来创建多个地图标记,但没有一个标记被添加到地图中。我已经搜索了几个小时,没有运气,没有错误被控制台捕获,我看不出有什么问题。非常感谢您的帮助,以下是我的代码: var locations = [ [53.471809, -2.242170, "content1", 'img1.jpg'], [53.466407, -2.234769, "content2", 'img2.jpg], [53.477134, -2.255313, "co

我试图使用闭包来创建多个地图标记,但没有一个标记被添加到地图中。我已经搜索了几个小时,没有运气,没有错误被控制台捕获,我看不出有什么问题。非常感谢您的帮助,以下是我的代码:

      var locations = [
      [53.471809, -2.242170, "content1", 'img1.jpg'],
      [53.466407, -2.234769, "content2", 'img2.jpg],
      [53.477134, -2.255313, "content3", 'img3.jpg'],
      [53.462775, -2.291624, "content4", 'img5.jpg']
      ];
      var latLong = new google.maps.LatLng(53.47203,-2.2386741);

      function initialise() {

        var mapOptions={
        center: latLong,
        zoom: 16
    }
    var mapContainer=document.getElementById("mapArea");
    var map=new google.maps.Map(mapContainer, mapOptions);



    function setMarkers(map,locations){

        var marker, i;

        for (i = 0; i < locations.length; i++)
        {  

        var lat = locations[i][0];
        var long = locations[i][1];
        var add =  locations[i][2];
        var img = locations[i][3];

        latlngset = new google.maps.LatLng(lat, long);

        var marker = new google.maps.Marker({  
              map: map, position: latlngset,icon:img  
                });
        map.setCenter(marker.getPosition());


        var content = add;

        var infowindow = new google.maps.InfoWindow();
        marker.setMap(map);

        google.maps.event.addListener(marker,'click', (function(marker,content,infowindow){ 
        return function() {
            infowindow.setContent(content);
            infowindow.open(map,marker);
        };
    })(marker,content,infowindow));  

      }
  }
  setMarkers();
}
window.addEventListener('load',initialise);
var位置=[
[53.471809,-2.242170,“content1”,“img1.jpg'],
[53.466407,-2.234769,“content2”,“img2.jpg],
[53.477134,-2.255313,“内容3”,“img3.jpg”],
[53.462775,-2.291624,“content4”,“img5.jpg']
];
var latLong=new google.maps.LatLng(53.47203,-2.2386741);
函数初始化(){
var映射选项={
中心:拉特朗,
缩放:16
}
var mapContainer=document.getElementById(“mapArea”);
var map=new google.maps.map(mapContainer,mapOptions);
功能设置标记(地图、位置){
var标记,i;
对于(i=0;i
  • 您需要调用
    setMarkers
    函数
  • 您需要图标图像的完整路径
  • 代码片段:

    var位置=[
    [53.471809,-2.242170,“内容1”http://maps.google.com/mapfiles/ms/micons/blue.png'],
    [53.466407,-2.234769,“内容2”http://maps.google.com/mapfiles/ms/micons/green.png'],
    [53.477134,-2.255313,“内容3”http://maps.google.com/mapfiles/ms/micons/orange.png'],
    [53.462775,-2.291624,“内容4”http://maps.google.com/mapfiles/ms/micons/yellow.png']
    ];
    var latLong=new google.maps.LatLng(53.47203,-2.2386741);
    函数初始化(){
    变量映射选项={
    中心:拉特朗,
    缩放:11
    }
    var mapContainer=document.getElementById(“mapArea”);
    var map=new google.maps.map(mapContainer,mapOptions);
    设置标记(地图、位置);
    功能设置标记(地图、位置){
    var标记,i;
    对于(i=0;i
    
    html,
    身体,
    #地图区{
    身高:100%;
    宽度:100%;
    边际:0px;
    填充:0px
    }

    它们是图像的完整路径,我在本地有图像。我一定在某个时候删除了调用setMarkers函数,但它仍然不起作用,现在位置被视为未定义