テンプレート。マップコンテナが見つからないというエラーが表示されたら、インポートしました。リーフレット地図エラーを投げ
コントローラ:
import { Component, OnInit, EventEmitter, Output } from
'@angular/core';
import * as L from 'leaflet';
import { Map } from 'leaflet';
@Component({
selector: 'app-leafletmap',
templateUrl: './leafletmap.component.html',
styleUrls: ['./leafletmap.component.css']
})
export class LeafletmapComponent implements OnInit {
mymap = L.map('mapid').setView([29.6516, -82.3248], 13);
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}',
{
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors,
<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>',
maxZoom: 18,
id: 'mapbox.streets',
accessToken: '*****************************'
}).addTo(mymap);
popup = L.popup();
marker: any;
onMapClick(e) {
if (marker != undefined)
mymap.removeLayer(marker)
marker = new L.Marker(e.latlng, { draggable: true });
mymap.addLayer(marker);
popup.setLatLng(e.latlng).setContent("You clicked the map at " + e.latlng.toString()).openOn(mymap);
}
mymap.on('zoomend', function() {
console.log(mymap.getZoom());
})
mymap.on('click', onMapClick);
constructor() { }
ngOnInit() {
}
}
私はこれは私が定期的にJavascriptを使用していたチュートリアル以下、このコードを書いたとしてtypescriptですでアクセストークンと初期化変数を渡す方法であるかどうかわからないです。
複数行の文字列が原因である可能性があります。複数の行にある場合は、 '' line1 '+' line2 '+' line3''という文字列を一緒に追加する必要があります。 –