javascript - 如何在传单中设置 geoJSON FeatureCollection 的样式?
问题描述
我正在尝试使用 设置geoJSON FeatureCollection 的样式L.geoJSON
,但未能成功偏离默认样式。
我已经尝试过L.geoJSON
(见下文)的文档,以及将样式属性直接放入 geoJSON 功能中。这两个选项对图层的显示都没有影响
//coordinates on map
var map = L.map('map').setView([29.76, -95.37], 10);
L.esri.basemapLayer('Gray').addTo(map);
var fromProjection = "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378137 +b=6378137 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs";
var toProjection = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs ";
var myStyle = {
"color": "#ff7800",
"weight": 5,
"opacity": 0.65
};
var myLayer = L.geoJSON(watersheds,{
coordsToLatLng: function (p) {
p = proj4(fromProjection,toProjection,p); // reproject each point
p = [p[1],p[0]] // swap the values
return p; // return the lat/lng pair
}},{
style: myStyle
}).addTo(map);
预期结果:我的图层将呈橙色并略微透明
实际结果:我的图层是默认的蓝色
(类似于此:http ://bl.ocks.org/andrew-reid/e472886c83819e8459178a4a56548449 )
解决方案
尝试这个:
//coordinates on map
var map = L.map('map').setView([29.76, -95.37], 10);
L.esri.basemapLayer('Gray').addTo(map);
var fromProjection = "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378137 +b=6378137 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs";
var toProjection = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs ";
var myStyle = {
"color": "#ff7800",
"weight": 5,
"opacity": 0.65
};
myLayer = L.geoJson(watersheds, {
onEachFeature: function (feature, layer) {
layer.setStyle(feature.myStyle);
}
}).addTo(map);
推荐阅读
- powershell - Import-PfxCertificate 无操作,但没有错误或任何东西
- c++ - char * ptr = ""; 有什么区别?char * ptr = NULL 和 char * ptr = malloc(1)?
- ios - Flutter 构建在 iOS 上失败,但在 android 上工作
- c# - 如何通过按键使进程停止运行
- google-apps-script - 使用 Google Apps 脚本复制“公式拖动”Google 电子表格功能
- amazon-web-services - 如何在不使用任何公共子网的情况下通过私有子网中的 SSH 连接到 ec2?
- android - 在android中每20分钟重复一次警报
- r - 如何将纳米时间转换为字符?
- json - 无法使用 Codeable 解析 JSON
- javascript - 如何在一个字符串中使用 lodash 过滤器和映射