javascript - Angular2-Leafletjs : Defining style for L. geoJSON().addTo(myMap)

标签 javascript angular leaflet geojson

正在使用 Leafletjs in Angular2 http.get 从 URL 调用 JSON,但由于预定义了 geoJSON 图层,我无法为添加到 map 的要素定义样式:

  // Add an empty layer to the map
  var geoJsonLayer1 = L.geoJSON().addTo(myMap);

  // Retrieve the geojson file
  http.get(myJsonURL)
  .map((response: Response) => {
      geoJsonLayer1.addData(response.json());
  }).subscribe();

geoJSON 层没有任何样式,如下所示:

enter image description here

我预定义图层的原因是我延迟加载 JSON 文件。按照常规方式,我们可以定义如下样式:

L.geoJSON(myLines, {
    style: myStyle
}).addTo(map);

现在我的问题是,如何定义预定义图层的样式?

最佳答案

只需预定义没有数据的图层...

var geoJsonLayer1 = L.geoJSON(null, {
  style: myStyle
}).addTo(map);

// Later on…
geoJsonLayer1.addData(response.json());

顺便说一句,您的屏幕截图看起来显示缺少图标图像的标记(对于“点”类型功能)。在这种情况下,您应该使用 pointToLayer 而不是矢量形状(如多边形、线串等)的 style 选项。选项。

关于javascript - Angular2-Leafletjs : Defining style for L. geoJSON().addTo(myMap),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44414222/

相关文章:

Angular 4 使用 viewChildran 在动态生成的文本框中设置焦点

javascript - 使传单工具提示可点击

javascript - 为每个数组设置随机颜色

javascript - 而 x for at javascript

css - 如何向此 div 添加过渡

当值发生变化时,Angular 组件不会更新 UI

javascript - multer如何确定file.mimetype的值

javascript - 我可以使用它来引用委托(delegate)元素的选择器吗?

mysql - 无法使用传单打开geojson

javascript - Angular 传单图标不会相互替换,而是重叠