[英]Javascript - Passing array in as a parameter
我想将此Google Maps脚本放入js文件,并将mapLocs数组作为参数从html页面中的脚本传递到该文件中。 有谁知道怎么可能做到这一点?
function initialize(){
var map = new google.maps.Map(document.getElementById("map"),
{
zoom: 13,
center: new google.maps.LatLng(53.408103, -2.979595),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
setMarkers(map, mapLocs);
}
// To be passed in as a parameter?
var mapLocs = [
['Liverpool', 53.408103, -2.979595]
];
function setMarkers(map, locations){
for (var i = 0; i < locations.length; i++){
var places = locations[i];
var myLatLng = new google.maps.LatLng(places[1], places[2]);
var marker = new google.maps.Marker({
position: myLatLng,
draggable: false,
map: map,
title: places[0],
zIndex: places[3]
});
}
}
google.maps.event.addDomListener(window, 'load', initialize);
您可以在数据加载后初始化地图:
google.maps.event.addDomListener(window, 'load', function(){
var locations = getLocations();
initializeMap(locations);
});
修改示例
function initialize(locations) { var map = new google.maps.Map(document.getElementById("map"), { zoom: 13, center: new google.maps.LatLng(53.408103, -2.979595), mapTypeId: google.maps.MapTypeId.ROADMAP }); setMarkers(map, locations); } function setMarkers(map, locations) { for (var i = 0; i < locations.length; i++) { var places = locations[i]; var myLatLng = new google.maps.LatLng(places[1], places[2]); var marker = new google.maps.Marker({ position: myLatLng, draggable: false, map: map, title: places[0], zIndex: places[3] }); } }
<!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta charset="utf-8"> <title>Map</title> <style> html, body, #map { height: 100%; margin: 0px; padding: 0px; } </style> <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script> <script src="map.js"></script> </head> <body> <div id="map"></div> <script> google.maps.event.addDomListener(window, 'load', function () { //1.load data var mapLocs = [ ['Liverpool', 53.408103, -2.979595] ]; //2.init map initialize(mapLocs); }); </script> </body> </html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.