листовка Свойство-Маршрутизация-не-существует-по-типу-типу-импорта - PullRequest
0 голосов
/ 05 октября 2018

Я сделал сообщение, но не получил никаких ответов.Я новичок в листовке и не знаю, что происходит и почему.Я полагаю, что добавил все, что говорится в документах, но я все еще получаю сообщение об ошибке.

<link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.4/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.3.4/dist/leaflet.js"></script>

import L from 'leaflet';

ОШИБКА TypeError: Невозможно прочитать свойство 'control' из неопределенного

Мой код здесь:

var polylineRouteB = L.Routing.control({...});

1 Ответ

0 голосов
/ 06 октября 2018

Чтобы ваш класс L.Routing не был неопределенным, вам нужно получить ссылку на карту и использовать ее там, когда карта загружена, но перед этим шагом вам нужно настроить angular.json для поиска маркеров в вашей папке ресурсов.значки иначе эта проблема возникает .

import { 
    latLng, 
    tileLayer, 
    Icon, icon, Marker
} from 'leaflet';

import 'leaflet';
import 'leaflet-routing-machine';
declare let L;
...

// Override default Icons
private defaultIcon: Icon = icon({
    iconUrl: 'assets/marker-icon.png',
    shadowUrl: 'assets/marker-shadow.png'
});

ngOnInit() {
    Marker.prototype.options.icon = this.defaultIcon;
}

onMapReady(map: L.Map) {
    L.Routing.control({
        waypoints: [
            L.latLng(57.74, 11.94),
            L.latLng(57.6792, 11.949)
        ],
        routeWhileDragging: true
    }).addTo(map);
}

Шаблон

<div style="height: 800px;"
    leaflet 
    [leafletOptions]="options"
    (leafletMapReady)="onMapReady($event)">
</div>

Демо

Обратите внимание, что его библиотека не разрешает неограниченные запросы к серверу , поэтому он часто возвращает 429 HTTP-ответов.

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