传单 GeoJASON 图层控件在此脚本中不起作用
Leaflet GeoJASON layer control not work in this script?
我最近在使用传单库,我发现它非常容易工作和学习,这些教程在GeoJSON和控制层方面非常好,但我找不到一个关于将控制层与GeoJASON文件一起使用的教程,我写了这个脚本:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="leaflet.css"/>
<script src="leaflet-src.js"></script>
<script src="GeoJason/mpios.geojson"type="text/javascript"></script>
<script src="GeoJason/roads.geojson"type="text/javascript"></script>
<script src="GeoJason/city.geojson"type="text/javascript"></script>
<script src="GeoJason/towns.geojson"type="text/javascript"></script>
<style>
html, body, #map {
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script type="text/javascript">
var map = L.map('map').setView([20.990584, -98.65644], 12);
L.geoJson(mpios).addTo(map);
L.geoJson(roads).addTo(map);
L.geoJson(city).addTo(map);
L.geoJson(towns).addTo(map);
var baseLayers = {
"roads": roads,
"mpios": mpios
};
var overlays = {
"city": city,
"towns": towns
};
L.control.layers(baseLayers, overlays).addTo(map);
</script>
</body>
</html>
但它显示图层和控制按钮不起作用,谢谢。
您在 baseLayers 和叠加层中设置的图层值是 geoJSON 要素集,但它们应该是传单图层或对地图上存在的图层的引用。
您可以通过将 L.geoJson 的返回值设置为如下所示的变量来存储每个 geoJSON 图层的图层引用:
var mpios_l = L.geoJson(mpios).addTo(map);
var roads_l = L.geoJson(roads).addTo(map);
var city_l = L.geoJson(city).addTo(map);
var towns_l = L.geoJson(towns).addTo(map);
然后将这些项添加到控件中。
var baseLayers = {
"roads": roads_l,
"mpios": mpios_l
};
var overlays = {
"city": city_l,
"towns": towns_l
};
L.control.layers(baseLayers, overlays).addTo(map);
相关文章:
- 当有许多形式时,Fancybox脚本不起作用
- Aureliaview中的脚本不起作用
- 淡入淡出脚本不起作用
- 从jquery对话框恢复原始数据,脚本不起作用
- 我的脚本不起作用
- 用于wooccommerce的简单JQuery脚本不起作用
- 简单的拖放JS脚本不起作用
- jquery和JavaScript脚本不起作用
- jquery脚本不起作用
- 为什么这个jquery脚本不起作用
- 带有ajax xml请求的Node js脚本不起作用
- 示例Casper JS脚本不起作用
- 多个脚本不起作用
- JavaScript/jQuery-脚本不起作用-添加&删除类,合并数组-测试用例
- 在php中验证字段时,java脚本不起作用
- 只有在条件满足时才加载javascript脚本-不起作用
- 使用另一个 ajax 脚本更改页面内容后,AJAX 脚本不起作用
- 网络视图的电子预加载脚本不起作用
- 用于显示服务器上的 javascript 时间的脚本不起作用
- “BBCODE”脚本不起作用