2016-11-16 87 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