Установите следующее, чтобы иметь Leaflet для Angular:
npm install leaflet
npm install @asymmetrik/ngx-leaflet
и typings
:
npm install --save-dev @types/leaflet
Добавьте в свой Angualr CLI следующее:
{
...
"styles": [
"styles.css",
"./node_modules/leaflet/dist/leaflet.css"
],
...
}
Модуль импорта листовок:
import { LeafletModule } from '@asymmetrik/ngx-leaflet';
imports: [
LeafletModule.forRoot()
]
И создайте карту:
<div style="height: 300px;"
leaflet
[leafletOptions]="options">
</div>
И настройте свои параметры:
options = {
layers: [
tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18, attribution: '...' })
],
zoom: 5,
center: latLng(46.879966, -121.726909)
};
Ссылка: @ asymmetrik/ ngx-leaflet
Редактировать:
Если вы не хотите использовать вышеуказанный пакет, устраните проблему с помощью:
ngOnInit() {
const myMap = L.map('map').setView([51.505, -0.09], 13);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(myMap);
}