【发布时间】:2018-12-18 22:38:57
【问题描述】:
我尝试使用 openlayer 构建一个简单的应用程序。我在我的package.json 中使用 Ionic 3 和 Open layer 版本:"openlayers": "^4.6.5",
我的page.ts:
import { Component, ViewChild, Renderer, ElementRef } from '@angular/core';
import { IonicPage,Platform } from 'ionic-angular';
import OlMap from 'ol/map';
import OlXYZ from 'ol/source/xyz';
import OlTileLayer from 'ol/layer/tile';
import OlView from 'ol/view';
import OlProj from 'ol/proj';
@IonicPage()
@Component({
selector: 'page-open-map',
templateUrl: 'open-map.html'
})
export class OpenMapPage {
map: OlMap;
source: OlXYZ;
layer: OlTileLayer;
view: OlView;
constructor(platform: Platform, public renderer: Renderer) {
platform.ready().then(() => {
console.log("Platform is ready");
this.loadMap();
})
}
loadMap() {
this.source = new OlXYZ({
// Tiles from Mapbox (Light)
url: 'https://api.tiles.mapbox.com/v4/mapbox.light/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw'
});
this.layer = new OlTileLayer({
source: this.source
});
this.view = new OlView({
center: OlProj.fromLonLat([6.661594, 50.433237]),
zoom: 3,
});
this.map = new OlMap({
target: 'map',
layers: [this.layer],
view: this.view
});
}
}
我的html文件:
<ion-header>
<ion-navbar>
<ion-title>OpenMap</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding class="about">
This is my super awesome about page.
<div id="map" #map class="map" ></div>
</ion-content>
当我构建这个应用程序时,主页是好的,但是当我打开一个新页面时,我的页面没有显示地图。我的代码有问题吗?
非常感谢!
【问题讨论】:
标签: angular typescript ionic-framework openlayers