angular - 如何使用 ngx-leaflet( Angular 方式)创建矢量图 block map ?

标签 angular vector leaflet mapbox-gl-js ngx-leaflet

有什么好的推荐的 angular 6+ 支持的库可以用来完成以下任务?

我正在使用 ngx-leaflet作为 map 。 我希望使用矢量而不是栅格 创建 map 。 I know that Leaflet doesn’t support vector tiles by default , 但是,您可以通过 mapbox-gl-leaflet 完成插件。

任何人都可以向我推荐一种方法或合适的库来使用 Angular 6+ 完成这项任务吗?

最佳答案

您可以使用 Leaflet.VectorGrid plugin .参见 ngx-leaflet-starter和相关的demo .

  1. 通过 yarn add leaflet.vectorgrid 安装它
  2. 创建 binding file src/typings/leaflet.vectorgrid.d.ts 定义您要使用的 API,例如:

    import * as L from "leaflet";
    
    declare module "leaflet" {
      namespace vectorGrid {
        export function slicer(data: any, options?: any): any;
      }
    }
    
  3. 加载您的矢量图 block ,例如:

    // add import statement
    import * as L from "leaflet";
    // then call...
    loadGeojson() {
        this.http.get("assets/airports.min.geojson").subscribe(result => {
                this.vtLayer = L.vectorGrid.slicer(result, {
                  zIndex: 1000
                });
                this.vtLayer.addTo(this.map);
        });
    }
    

关于angular - 如何使用 ngx-leaflet( Angular 方式)创建矢量图 block map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53397240/

相关文章:

python - 如何使用 Python 在任意平面内绘制矢量场?

javascript - 在传单中显示标记的弹出值

angularjs - 如何在angular2的列表中应用搜索过滤器?

angular - 如何将 angular 2 组件创建到 Nativescript 应用程序中?

Angular2 x-i18n 错误 : Unexpected value imported by the module

r - 如何让向量作为 r 函数中的参数?

c++ - C++ 中的二进制读/写任意 std::vector<std::vector<int>>

javascript - Leaflet MarkerCluster - 如何在事件(鼠标悬停,鼠标单击)时获取集群内的标记?

javascript - 传单 map : marker's smooth transition opacity change

angular - 如何在新标签页中打开Angular组件?