繁体   English   中英

Javascript-将数组作为参数传递

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM