Проблема с использованием Leaflet Map в плагине Powerbi - PullRequest
0 голосов
/ 17 сентября 2018

У меня проблема с использованием листовки в плагине powerbi:

в конструкторе я могу показать карту, отметить местоположение на ней и все в порядке:

 export class Visual implements IVisual {
    private target: HTMLElement;
    private dataView: DataView;
    private map: L.Map;
    private basemap: L.TileLayer;
    private markerLayer: L.LayerGroup<L.CircleMarker>;

    constructor(options: VisualConstructorOptions) {
        console.log('constructor called');
        this.target.innerHTML='<div id="map" style="height:100vh;width:100vw;"></div>';
        this.basemap = L.tileLayer('http://localhost/mapfiles/{z}/{x}/{y}.png',{    maxZoom: 17,minZoom:10  });

        this.map = L.map('map', {
            center: new L.LatLng(35.658, 51.403),
            zoom: 12,
            maxZoom: 18,
            minZoom: 12
        });

        this.map.addLayer(this.basemap);
    }

но!

В публичном обновлении , когда (например, я хочу отметить другое местоположение), this.map не определено!

А также, событие Click возвращает ошибки о «функция не найдена» или «MouseEvent» не объявлено ...

Я думаю, что точная проблема заключается в том, что после добавления слоя на карту Leaflet теряет ссылку на карту и не может найти ее снова для редактирования!

Что я могу сделать? Это конфликт между TS и JS?

[извините за мою грамматику :) Английский не является моим основным языком]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...