javascript - 将传单中的自定义图标添加到 geojson 文件
问题描述
我得到以下代码
var Iconcm = L.icon({
iconUrl: 'customicon.png',
iconSize: [25, 25],
iconAnchor: [22, 94],
popupAnchor: [-10, -95]
});
$.ajax({
dataType: "json",
url: "pc.geojson",
success: function(data) {
L.geoJson(data, {
onEachFeature: onEachFeature
}).addTo(map);
}
}).error(function() {});
function onEachFeature(feature, layer) {
var lines = ('Field1: ' + feature.properties.f1 + '<br>' + 'Field2: ' + feature.properties.f2)
layer.bindPopup(lines);
};
我希望能够使用Iconcm
而不是默认的蓝色标记。我已经尝试了几乎所有在互联网上找到的方法都无济于事。我是 javascript 的新手,甚至是 AJAX 的新手。上面的代码是我的 geojson 文件实际工作的唯一方式,所以我更愿意保持这种方式。此外,将来我希望能够根据一个字段中的功能属性拥有不同的图标。因此,例如 if feature.properties.f3
is Type1
be customicon1
、Type2
iscustomicon2
等。有没有办法做到这一点?谢谢!
解决方案
您可以使用一种方法setIcon 。
如果层实际上是 L.Marker,你想测试你只调用它
function onEachFeature(feature, layer) {
if (layer instanceof L.Marker) {
layer.setIcon(Iconcm)
}
// ...
推荐阅读
- javascript - javascript表单验证子数组
- ruby-on-rails - 权限的未定义方法'permissions_for':Rails 6中的模块
- javascript - “Missing ) after ...” 一行,Javascript
- javascript - 使用电子调用后端
- javascript - 如何将 Webpack 3 CommonsChunkPlugin 配置升级到 Webpack 4 splitChunks,同时在这种情况下保持相同的行为?
- javascript - 没有 JQuery 的 Javascript 特殊字符密码验证
- python - 从职位描述中抓取职位详细信息的最佳方法
- c# - .NET Core 中的 Docker 容器通信
- django - 将 django-guardian 与自定义用户一起使用
- c# - 将 SignalR 注入核心 WorkerService