Ich folgte der Lösung dieses Themas (Ionic 2 Beta and Open Layers 3 not loading map 3), um OL3 in eine Ionic 2 App zu integrieren, aber ich habe ein Problem. Wenn ich diene, lädt sich die Karte, aber sie ist visuell leer. Ich muss die Größe meines Browsers ändern, damit er angezeigt wird. Also ich stelle mir vor es ist ein Refresh Problem ... Ich bin neu mit Ionic und Angular, also hier bin ich :). Hast du eine Ahnung? Vielen Dank !OpenLayers 3 & Ionic 2, nicht angezeigt nach dem Laden
map.component.ts
import {Component, ViewChild, Renderer} from '@angular/core';
declare var ol: any;
@Component({
selector: 'olmap',
template: '<div id="map" #map class="full-map" data-tap-disabled="true"></div>'
})
export class OLMap {
@ViewChild('map') map;
constructor(public renderer: Renderer) {
}
ngAfterViewInit() {
var layer = new ol.layer.Tile({
source: new ol.source.OSM()
});
var london = ol.proj.transform([-0.12755, 51.507222], 'EPSG:4326', 'EPSG:3857');
var view = new ol.View({
center: london,
zoom: 6
});
var map = new ol.Map({
target: 'map',
layers: [layer],
view: view
});
}
}
home.ts
import {Page} from 'ionic-angular';
import {OLMap} from './component/map.component';
@Page({
templateUrl: 'build/pages/home/home.html',
directives: [OLMap]
})
export class HomePage {
constructor() {
}
}
home.html
<ion-header>
<ion-navbar>
<ion-title>
Ionic Test
</ion-title>
</ion-navbar>
</ion-header>
<ion-content>
<olmap></olmap>
</ion-content>
Und auf meine index.html
<script src="http://openlayers.org/en/v3.17.1/build/ol.js" type="text/javascript"></script>
<link type="text/css" href="https://openlayersbook.github.io/openlayers_book_samples/assets/ol3/css/ol.css" rel="stylesheet">
<link type="text/css" href="https://openlayersbook.github.io/openlayers_book_samples/assets/css/samples.css" rel="stylesheet">
Können Sie uns mehr Details über Ihren Code geben? Vielen Dank! –
Sicher @ ThierryTemplier! Erledigt. – Xav
@ThierryTemplier Ich habe setTimeout (function() {window.dispatchEvent (neues Ereignis ("resize"));}, 100); am Ende von ngAfterViewInit(). Aber ich stelle mir vor es ist ein bisschen dreckig ... Und es funktioniert nicht auf Handy (IonicView)! – Xav