【发布时间】:2016-09-28 15:54:28
【问题描述】:
我通过TSD 导入传单 Typescript 命名空间来初始化地图,但每次实例化新组件(包含地图)时重新初始化地图时都会遇到一些问题。这是组件的代码:
import { Component, Input, OnInit} from '@angular/core';
import { MapDetail } from './map';
@Component({
selector:'map-detail',
templateUrl: 'views/map.html'
})
export class MapDetailComponent implements OnInit {
@Input() map: MapDetail;
ngOnInit(): void {
var div = document.getElementById('map');
var mymap : L.Map = L.map(div, {
center: L.latLng(47.137, 1.890),
zoom: 7,
dragging: true,
[More options ...]
});
var tileLayer = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png?', {
minZoom: 3,
maxZoom: 18,
});
tileLayer.addTo(mymap);
}
}
还有 HTML:
<div id="mapid"></div>
非常感谢任何想法/提示。
UPDATE :ngOnInit 被调用两次。我以前使用服务调用它。现在因为它是一个空白页面,所以我直接调用这个组件。
UPDATE 2:似乎与这个问题有关https://github.com/angular/angular/issues/6782 有什么已知的解决方法吗?
【问题讨论】: