在我的 ionic 3 应用程序中,我在两个页面中使用谷歌地图:主页面显示用户的位置,另一个页面显示路线。在主页中,地图可以正常工作,但是如果我转到其他页面,则不会显示地图:而是有一个空白区域。这是我用来加载地图的代码:
loadMap() {
let element: HTMLElement = document.getElementById('mappa');
let map: GoogleMap = this.googleMaps.create(element);
var directionsDisplay = new google.maps.DirectionsRenderer();
directionsDisplay.setMap(map)
// listen to MAP_READY event
// You must wait for this event to fire before adding something to the map or modifying it in anyway
map.one(GoogleMapsEvent.MAP_READY).then(() => {
directionsDisplay.setDirections(this.route)
});
}
我在 setTimeout 方法中调用此函数以使其正常工作(我对主页中的地图使用了相同的方法,并且工作正常)。由于两张地图使用相同的 ID 可能会出现问题,因此我更改了元素 ID,以便地图具有不同的 ID;为了改变它,我写了
@ViewChild('mappa') map;
在一个班级和
@ViewChild('map') map;
在另一个(主要的)。
错误可能在哪里?即使“directionsDisplay.setDirections(this.route)”方法不起作用,地图仍应显示,没有方向,对吗?