- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我认为这意味着我缺少有关 javascript 中嵌套函数工作的一些基本知识,但我无法在传单 map 中添加或删除图层 using a click function .具体来说,我有一个传单 map ,其中定义了许多矢量图层。这些层之一被添加到 map on page load ,然后后续层应该在层选择器中的单击事件上加载。
这是处理点击的函数,然后更新侧边栏图例,更新层选择器中的类,并且应该更新可见层:
// ADD THE LAYER CONTROL FUNCTION
$('.layer').click(function() {
var oldLayer = $('.active').attr('id');
var newLayer = $(this).attr('id');
console.log(oldLayer + ' --> ' + newLayer);
$('#infobits').html('<h2>' + this.text + '</h2><hr>' + legendFormatter(
this.id));
map.removeLayer(oldLayer);
$('.layer').removeClass('active');
$(this).addClass('active');
map.addLayer(newLayer);
});
每次我点击一个新层,我都会得到Uncaught TypeError: undefined is not a function
,无论我把函数放在哪里(我什至把它放在 .getJSON() 调用中少量)。令人困惑的是,我在浏览器中转到 JS 控制台并逐字在上述脚本的第 49 行输入函数生成的内容 (map.removeLayer(Percent_TC_bg)
), map 会移除相关图层。
我该怎么做才能让我的 map 无误地添加和删除图层?
最佳答案
我想 TypeError
是在 addLayer
或 removeLayer
中抛出的。 Map#addLayer
和 #removeLayer
接受 ILayer
对象作为参数,但是 oldLayer
和 newLayer
显然是 String
,它直接来自 HTML 元素的 ID 属性.
我想,因此更改 oldLayer
和 newLayer
以欣赏 ILayer
对象将解决问题。
关于javascript - Leaflet .addLayer() 功能失败,在控制台工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25112521/
我正在创建一个 map 框插件,该插件应在添加或删除图层时更新。有用于样式和源添加的事件,但没有用于图层的事件。 我当前的解决方案是在添加或删除插件内监听的层后以编程方式触发自定义事件,但这当然发生在
我正在开发一个项目,尝试使用 JavaScript API 将 ArcGIS Online 中的要素图层添加到 Web map 应用程序,用户可以通过 HTML 复选框打开和关闭图层。图层导入正确,并
Here API clustering error: "addLayer is not defined" 错误我正在调用函数 startClustering,但收到错误 map.addLayer 未定
我认为这意味着我缺少有关 javascript 中嵌套函数工作的一些基本知识,但我无法在传单 map 中添加或删除图层 using a click function .具体来说,我有一个传单 map
我在传单方面遇到问题。我尝试只添加一层,但传单添加了不止一层。 这是代码: var region_layer = L.geoJSON(layer); // Count layers console.l
我一直在研究一个 map 组件,该组件呈现从搜索中流入的结果点。我已经完成了大部分工作,直到我开始为 return 语句传递 Prop 。我正在使用我自己的组件,而不是 react-leaflet 的
我正在尝试向 leaflet.indoor 添加标记。我正在从 geoJson 文件获取数据。我不断收到此错误“Uncaught TypeError:无法读取未定义的属性'addLayer'” lea
我想编辑我在 mapbox 上使用 map.addLayer() 添加的多边形。 代码: map.addLayer({ 'id': 'maine'+id, 'type': 'fill'
我正在尝试使用 Leaflet 创建 map 并在 map 上显示标记。有人对我在 map 上显示标记时收到的以下错误有任何想法吗? 我可以启动页面的 map 加载: var map; var aja
我尝试显示传单 map ,其中包含多边形表面。有时,当刷新页面时,它会显示错误无法读取未定义的属性“addLayer” map 正在正确呈现。我不知道我哪里做错了,请指导我 componentDidU
我一直在使用 Mapbox GL JS 并在 basemap 上添加数据层。出于某种原因,即使数据叠加按预期显示,我仍然在请求的磁贴上收到 404 错误。我已经检查并仔细检查以确保我使用 this 获
我是一名优秀的程序员,十分优秀!