小叶层群在环
Leaflet Layergroups in loop
本文关键字:叶层群 更新时间:2023-09-26
嗨,我有这个代码,从文本文件创建图像地图上的标记。我想添加图层控件来隐藏或显示不同的标记与L.control.layers,现在用这个代码隐藏所有的标记。是否可以将标记按坐标划分为组?由于
var stringData = $.ajax({
url: "a.txt",
async: false
}).responseText;
//Split values of string data
var stringArray = stringData.split("'n");
var arrayLength = stringArray.length ;
var layerGroup = L.layerGroup().addTo(map);
for(var i = 0; i < arrayLength; i++) {
var x = $.trim(stringArray[i].split(",")[0]);
var y = $.trim(stringArray[i].split(",")[1]);
var img2 = $.trim(stringArray[i].split(",")[2]);
var circle = L.circle([x,y], {
color: 'red',
fillColor: '#f03',
fillOpacity: 0.3,
radius: 2,
}).addTo(map);
circle.url = img2
circle.on('click', function(){
window.location = (this.url);
});
layerGroup.addLayer(circle);
}
var overlayMaps = {
"Normal": layerGroup,
"Elite": layerGroup,
"Ultimate": layerGroup
};
L.control.layers(null, overlayMaps).addTo(map);
a.txt
-146.4375, 183.0625, img/img1.png
-104.5, 182.75, img/img2.png,
当然可以。创建3个layerGroups。在你的循环中,你必须添加一个条件来将你的圆圈添加到它们中的任何一个。
var layerGroup1 = L.layerGroup().addTo(map);
var layerGroup2 = L.layerGroup().addTo(map);
var layerGroup3 = L.layerGroup().addTo(map);
for(var i = 0; i < arrayLength; i++) {
var x = $.trim(stringArray[i].split(",")[0]);
var y = $.trim(stringArray[i].split(",")[1]);
var img2 = $.trim(stringArray[i].split(",")[2]);
var circle = L.circle([x,y], {
color: 'red',
fillColor: '#f03',
fillOpacity: 0.3,
radius: 2,
});
circle.url = img2
circle.on('click', function(){
window.location = (this.url);
});
switch(img2) {
case "img/img1.png":
circle.addTo(layerGroup1);
break;
case "img/img2.png":
circle.addTo(layerGroup2);
break;
case "img/img3.png":
circle.addTo(layerGroup3);
break;
default:
break;
}
}
var overlayMaps = {
"Normal": layerGroup1,
"Elite": layerGroup2,
"Ultimate": layerGroup3
};
示例:http://plnkr.co/edit/f8azOmaz1ITLZiKgfHWt?p=preview
是这样的?
var layerGroup1 = L.layerGroup().addTo(map);
var layerGroup2 = L.layerGroup().addTo(map);
var layerGroup3 = L.layerGroup().addTo(map);
for(var i = 0; i < arrayLength; i++) {
var x = $.trim(stringArray[i].split(",")[0]);
var y = $.trim(stringArray[i].split(",")[1]);
var img2 = $.trim(stringArray[i].split(",")[2]);
var circle = L.circle([x,y], {
color: 'red',
fillColor: '#f03',
fillOpacity: 0.3,
radius: 2,
}).addTo(map).addTo(layerGroup1);
circle.url = img2
circle.on('click', function(){
window.location = (this.url);
});
if((img2 === "img/img2.png")||(img2 === "img/img3.png")){
var circle2 = L.circle([x,y], {
color: 'red',
fillColor: '#f03',
fillOpacity: 0.3,
radius: 2,
}).addTo(map).addTo(layerGroup2);
}
}
var overlayMaps = {
"Normal": layerGroup1,
"Elite": layerGroup2,
"Ultimate": layerGroup3
};
L.control.layers(null, overlayMaps).addTo(map);
相关文章:
- 如何更改bigquery API中的计费层选项
- Node.js正在更改应用程序以使用集群模块
- 如何在Microsoft VirtualEarth 6.3中使用纯javascript清除整个形状层
- 传单中如何在更改基层时启用/禁用覆盖层
- 如何更改角度谷歌地图上的集群图标
- 有没有一个抽象层,这样我就可以集成一次,然后使用pusher、pubnub或faye
- 更改图层中单个矢量特征的图标
- 可以't使用javascript通过soundcloud API向群组添加曲目
- 在正确的层上获取particles.js
- 有人能提供一张ember数据与broswer's的持久层
- 谷歌标记集群未创建
- 谷歌地图热图图层点半径
- 在arcgis javascript中手动添加图形层的图例
- 谷歌地图-更改图层图标大小
- 在Kinetic.js中通过多层处理事件
- 如何通过ID获取图层对象
- 开放层 3 - 修改集群层的功能
- 开放层 2.x 集群
- 小叶层群在环
- Mapbox JS -集群计数层异常