让我说我有一堆标记(超过100个)我想从中添加:
module.exports = [
{ value: 'Varrock', lng: 22.5, lat: -15.52249812756166, popular: 1 },
{ value: 'Lumbridge', lng: 25.9661865234375, lat: -43.644025847699496, popular: 1 },
{ value: 'Monastery', lng: -4.0924072265625, lat: -5.714379819235291 },
{ value: 'Edgeville', lng: 2.4884033203125, lat: -6.0094592380595495, popular: 1 },
{ value: 'Varrock Palace', lng: 22.412109375, lat: -6.882800241767556 },
{ value: 'Digsite', lng: 46.043701171875, lat: -17.266727823520508 },
{ value: 'River Salve', lng: 54.931640625, lat: -14.083301314706778 },
{ value: 'Morytania', lng: 64.610595703125, lat: -13.501814172428656 },
{ value: 'Mort Myre Swamp', lng: 59.820556640625, lat: -22.740723091194727 }
];
它使用browserify
来获取它。所以,我这样做:
var locations = require('./locations');
将所有这些内容添加到LayerGroup()
中的最佳方法是什么?我的意思是,因为手工做var fairy = L.layerGroup([One, Two, Three...]);
会让人厌倦。
那么我该如何将所有这些标记添加到一个新图层中(所以我可以打开/关闭它们)
答案 0 :(得分:2)
如何添加空L.LayerGroup
,在数组上循环并将其添加到该层?
var locations = [];
var layer = L.layerGroup().addTo(map);
locations.forEach(function (location) {
L.marker([location.lat, location.lng])
.bindPopup(location.value)
.addTo(layer);
});
关于Plunker的工作示例:http://plnkr.co/edit/Q0DGqs?p=preview