将数组作为参数传递 google 映射

Passing array as parameter google maps

function initialize(markers) {

  var mapOptions = {
    zoom: 7,
    center: new google.maps.LatLng(40.4378271,-3.6795367)
  }
  var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

  var marker = new google.maps.Marker({
      position: new google.maps.LatLng(markers[0],markers[1]),
      map: map,
      title: 'Hello World!'
  });
}

function markers() {

var marker = ["1","2","3","4"];

return marker;
}

google.maps.event.addDomListener(window, 'load', initialize(markers());

这应该在 lat 1 long 2 中创建一个标记,但它崩溃得很惨

有什么建议吗?

这是关于负载如何运作的:

google.maps.event.addDomListener(window, 'load', initialize(markers())); 

这个方法,google先加载"initialize()",然后markers()还不存在。

所以如果你移动到

body
脚本和 markers() 到
head
工作完美。

错误:应为“)”

google.maps.event.addDomListener(window, 'load', initialize(markers());

应该是

google.maps.event.addDomListener(window, 'load', initialize(markers()));