Dom*_*ngo 2 openlayers typescript ionic-framework angular
我这样设置地图:
this.map = new Map({
target: 'map',
layers: [new TileLayer({source: new OSM()})
],
view: new View({
center: [0, 0],
zoom: 16,
})
});
Run Code Online (Sandbox Code Playgroud)
打开页面后我得到这个:
所以我打开控制台来缩小页面并加载地图:
您知道如何修复它吗?
我为我解决了这个问题。这实际上是一个时间问题。解决方案如下:我在 html 元素上插入了一个 ng-if 。并在一秒超时后设置地图的目标。
html:
<ion-item *ngIf="loaded">
<div id="map" [ngClass]="{'map': loaded}"></div>
</ion-item>
Run Code Online (Sandbox Code Playgroud)
.ts:
this.map = new Map({
view: new View({
center: [0, 0],
zoom: 16,
minZoom: 2,
maxZoom: 19
}),
layers: [
new TileLayer({
source: new OSM()
}),
]
});
this.loaded = true;
setTimeout(() => {
this.map.setTarget(document.getElementById('map'));
}, 1000);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2954 次 |
| 最近记录: |