【发布时间】:2018-12-23 14:08:27
【问题描述】:
我正在使用谷歌地图来使用我的应用程序来查明设备的位置。我正在使用 angular 6 并使用 agm-map 库集成谷歌地图。一切正常,但是当我尝试为地图设置边界以便地图显示每个标记时,我得到了这个错误,
core.js:1598 ERROR TypeError: Cannot read property 'maps' of undefined
at device-location.view.ts:45
at SafeSubscriber.schedulerFn [as _next] (core.js:3724)
at SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub (Subscriber.js:253)
at SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next (Subscriber.js:191)
at Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next (Subscriber.js:129)
at Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (Subscriber.js:93)
at EventEmitter.push../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next (Subject.js:53)
at EventEmitter.push../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit (core.js:3704)
at map.js:220
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:388)
你可以在下面看到我的代码,
ngOnInit() {
this.devices$.subscribe(data => {
if (data) {
this.devices = data;
}
});
}
ngAfterViewInit() {
this.agmMap.mapReady.subscribe(map => {
const bounds: LatLngBounds = new google.maps.LatLngBounds(); // HERE GOOGLE UNDEFINED
for (const dev of this.devices) {
bounds.extend(new google.maps.LatLng(dev.latitude, dev.longitude));
}
map.fitBounds(bounds);
});
}
这是发生错误的代码行,
const bounds: LatLngBounds = new google.maps.LatLngBounds();
谁能帮我解决这个问题?谢谢
【问题讨论】:
标签: angular typescript google-maps google-maps-api-3 google-maps-markers