colors - 自定义作为来自静态文件的 geoJson 文件的传单覆盖
问题描述
我正在使用 Leaflet 构建地图应用程序。我正在从静态文件中提取国会选区的 geojson 文件。我想为每个包含地区名称的地区添加一个弹出窗口 - 它位于 geojson 文件中。我也想用独特的颜色给这些地区上色。
我已经尝试使用此代码添加带有地区名称的弹出窗口。这没用。
var polygons;
$.getJSON(
"http://localhost:8080/assets/geo/NationalCongressional.json",
function(data) {
polygons = L.geoJSON(data, {
style: myCustomStyle,
onEachFeature: function(feature, layer) {
layer.bindPopup(feature.properties.name);
}
});
}
);
var overlays = {
polygons: polygons
};
L.control.layers(baseMaps, overlays).addTo(myMap);
错误是多边形未定义。
如果我不乱用这样的代码来自定义图层,那么我可以直接将 geojson 添加到我的地图中,没有问题。像这样...
var NationalCongressional = new L.geoJson.ajax(
"http://localhost:8080/assets/geo/NationalCongressional.json",
{
style: upperHouseStyle
}
var overlays = {
NationalCongressiona: NationalCongressional
};
L.control.layers(baseMaps, overlays).addTo(myMap);
);
解决方案
弄清楚了。这是解决方案...
var NationalCongressional = new L.geoJson.ajax(
"http://localhost:8080/assets/geo/NationalCongressional.json",
{
style: upperHouseStyle,
onEachFeature: function(feature, layer) {
layer.bindPopup(feature.properties.NAMELSAD);
if (feature.properties.NAMELSAD == "Congressional District 8") {
console.log("found a match");
layer.setStyle({ color: "orange" });
}
}
}
);
var overlays = {
NationalCongressional: NationalCongressional
};
L.control.layers(baseMaps, overlays).addTo(myMap);
推荐阅读
- ios - 我已将 OpenGL (webGL) 的内容移植到 Metal 并有一个问题
- node.js - 如何将图像传递给expressjs中的多维数组?
- javascript - WebRTC 视频会议改变视频质量 NodeJS
- python - 在主线程中使用 QTimers 运行多个任务
- node.js - 将图片另存为nodejs中自己服务器中另一个路径的文件
- react-native - 更新 headerRight insdie 我的屏幕组件
- python - Replacing keys when dict value is a list
- apache-kafka - 不在时间戳 Kafka 之前处理
- css - 如何为垫卡创建边框,如自定义组件中垫子表单字段的轮廓
- python - 如何使用支持多种类型的参数制作 url 模式?