- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个通过 OnEachFeature 事件从多边形派生的中心点层。
我正在寻找的行为的第一部分是与该中心点关联的多边形在单击时更改样式,我已经成功做到了。
var ProjectMap = L.esri.featureLayer ({
url: 'https://services.arcgis.com/2gdL2gxYNFY2TOUb/arcgis/rest/services/NECSC_Test_Data/FeatureServer/1',
//making the polygons invisible
weight: 0,
fillOpacity: 0,
onEachFeature: function(feature,layer){
if (feature.geometry.type = 'Polygon') {
var bounds = layer.getBounds();
var center = bounds.getCenter();
var centerpoints = L.marker(center);
centerpointlayer.addLayer(centerpoints);
centerpoints.on('click', function(e) {
map.fitBounds(bounds);
layer.setStyle({
fillOpacity: 0.5,
});
info.update(layer.feature.properties);
});
};
}
}).addTo(map);
我想要的行为的第二部分是让任何先前单击的多边形在单击不同的中心点时重置其样式。我无法使用 e.target 和 e.layer 以及 GeoJSON resetStyle 方法来实现此功能,正如此处许多其他线程中所建议的那样。
[...]
var selected
centerpoints.on('click', function(e) {
if (selected){
e.target.resetStyle(selected)
}
selected = e.layer
map.fitBounds(bounds);
selected.setStyle({
fillOpacity: 0.5,
});
info.update(layer.feature.properties);
});
控制台在 selected.setStyle({ of
'Uncaught TypeError: Cannot read property 'setStyle' of undefined' at e.<anonymous> ((index):178)
at e.fire (leaflet.js:5)
at e._fireDOMEvent (leaflet.js:5)
at e._handleDOMEvent (leaflet.js:5)
at HTMLDivElement.r (leaflet.js:5)
我对 Leaflet 发生的事情有点困惑——是否有另一种方法可以让 esri.feature.layer 重置回其默认样式,然后更改所选中心点多边形的样式点击组合?
最佳答案
我相信您需要监听图层上的点击事件而不是标记。
centerpointlayer.on('click', function(e) {
if (selected){
e.target.resetStyle(selected)
}
selected = e.layer
map.fitBounds(bounds);
selected.setStyle({
fillOpacity: 0.5,
});
info.update(layer.feature.properties);
});
关于javascript - 传单:e.layer 不能与 L.Marker 或 esri.featurelayer 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45702046/
我有一个使用 arcgis javascript API 构建的应用程序。它使用要素图层来提取信息并允许在 map 上进行不同的搜索,但 15 个要素图层确实使我的客户服务器陷入困境,因此我们正在寻找
以前学生的时候只知道 Server 能做个分析,能返回个图或者要素 JSON,RESTAPI 也是工作之后才逐渐知道的。 MapServer 和 FeatureServer 都能容纳 FeatureL
我在为要素图层设置图标时遇到了一些问题。我不断收到 layer.setIcon is not a function和类似的错误。如何更改此图层的图标样式? var layer = L.mapbox.
我正在构建一个带有 MapBox map 的应用程序。我向服务器请求一个 GeoJson 文件,其中包含标记列表,已根据 Mongoose 模式进行格式化,如下所示: var poiSchema =
我正在尝试在图层中添加要素类型 (featureLayer.types),以便用户可以选择一个。ESRI 的示例“FeatureLayerEditingSample”执行此操作,但 View Cont
请参阅下面的部分 html 代码,我的 featureLayer 保存在我的 arcgisonline 中; var search = new Search({ sources: [{
我有一个通过 OnEachFeature 事件从多边形派生的中心点层。 我正在寻找的行为的第一部分是与该中心点关联的多边形在单击时更改样式,我已经成功做到了。 var ProjectMap = L.e
我是一名优秀的程序员,十分优秀!