Как создать карту векторных тайлов с помощью ngx-leaflet (Angular way)?

Любые хорошие рекомендуемые библиотеки с поддержкой angular 6+, которые можно использовать для выполнения следующей задачи?

Я использую ngx-leaflet в качестве карты. Я хочу создать карту с использованием векторов, а не растров. Я знаю, что Leaflet не поддерживает векторные плитки по умолчанию, однако вы можете сделать это с помощью Плагин mapbox-gl-leaflet.

Может ли кто-нибудь порекомендовать мне подход или подходящую библиотеку для выполнения этой задачи с использованием angular 6+?


person Amila Iddamalgoda    schedule 20.11.2018    source источник
comment
Подойдет ли вам использование плагина VectorGrid на Angular 7?   -  person kboul    schedule 27.11.2018


Ответы (1)


Вы можете использовать плагин Leaflet.VectorGrid. См. ngx-leaflet-starter и связанная с ним демонстрация.

  1. Установить через yarn add leaflet.vectorgrid
  2. Создайте файл привязки 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. Загрузите свои векторные плитки, например:

    // 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);
        });
    }
    
person bagage    schedule 27.01.2019