使用文件保存Google地图的数组项

时间:2018-01-27 18:22:51

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

我创建了一个Google Map,但是它有很多标记,并且将它们放在同一个html文件中变得笨拙。要使用标记,我首先按如下方式创建一个数组;

var markers = [

   ['Balham Leisure Centre',51.441234,-0.152297,'leisure_center.png'],
   ['Putney Leisure Centre',51.463955,-0.228771,'leisure_center.png'],
   ['Latchmere Leisure Centre',51.470967,-0.163805,'leisure_center.png']
]

然后按如下方式使用它们;

    for( i = 0; i < markers.length; i++ ) {
        var position = new google.maps.LatLng(markers[i][1], markers[i][2]);
        marker = new google.maps.Marker({
            position: position,
            map: map,
            title: markers[i][0],
            icon: iconBase + markers[i][3],
        });

}

我想将markers数组存储在一个单独的文本文件中,如;

   ['Balham Leisure Centre',51.441234,-0.152297,'leisure_center.png'],
   ['Putney Leisure Centre',51.463955,-0.228771,'leisure_center.png'],
   ['Latchmere Leisure Centre',51.470967,-0.163805,'leisure_center.png']

然后让主页读取该文件并将其放入markers数组中,以便所有内容仍然可以正常工作。

1 个答案:

答案 0 :(得分:1)

由于您不使用任何框架,因此在本机JS中您希望使用XMLHttpRequest对象。将数据保存在单独的文件中(例如,您可能希望使用JSON),然后按照以下代码进行操作。

基本用法:

var req = new XMLHttpRequest();
req.onreadystatechange = function() {
    if (req.readyState == XMLHttpRequest.DONE) {
        console.log(req.responseText);
    }
}
req.open('GET', url);
req.send();

Readmore:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest