2016-11-16 86 views
2

我使用離子2(beta11)和谷歌地圖。我有一個工作正常的頁面,並按預期顯示地圖。Ionic 2與谷歌地圖

要訪問此頁面,我點擊一個項目,頁面通過this.nav.push(MapPage, {加載。正如你所看到的地圖加載:

enter image description here

然而,當我去了另一個層面,並再次做this.nav.push(MapPage, {(顯示在同一頁面),將顯示該頁面,但地圖上看起來是這樣的:

enter image description here

所以它已經從一個頁面導航到同一個頁面,但第二次的地圖是不可見的。

這裏是我的代碼:

HTML

<ion-card id="map" class="job-map"></ion-card> 

map.ts

load(bounds: google.maps.LatLngBounds): void { 
    let mapOptions = { 
     center: bounds.getCenter(), 
     zoom: 15, 
     maxZoom: 15, 
     minZoom: 1, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

    var htmlElement: HTMLElement = document.getElementById("map"); 
    this.map = new google.maps.Map(htmlElement, mapOptions); 
    this.map.fitBounds(bounds); 
    this.ref.markForCheck(); 
    this.mapLoading = false; 
    } 

如果任何人都可以提出任何建議,我將不勝感激。

+0

是因爲堆棧中有兩個頁面,並且兩個頁面都具有相同的id爲「map」的元素,並且僅將它應用於第一個頁面? – Richard

回答

2

問題是因爲在堆棧中有兩個頁面,它們具有相同的元素ID「map」。如果我給每個頁面一個唯一的ID,它就可以工作。

+0

我有同樣的問題,所以你如何分配'頁面唯一的ID'? #ionic2如果可能,請在您的回答中發佈更新(回答)。 – RajeshKdev