Я использую этот google map angular компонент учебник, и он работает очень хорошо! НО открытие информационного окна вызывает исключение.
Вот мой код, который вызывает метод this.infoWindow.open для компонента «MapInfoWindow» из пакета npm.
import {
MapInfoWindow,
MapMarker,
GoogleMap
} from '@angular/google-maps';
export class YogabandEventsComponent implements OnInit {
@ViewChild(MapInfoWindow, {
static: false
}) infoWindow: MapInfoWindow;
@ViewChild(GoogleMap, {
static: false
}) googleMap: GoogleMap;
openInfo(marker: MapMarker, content) {
this.infoContent = content;
this.infoWindow.open(marker);
}
}
<google-map [options]="options" [zoom]="zoom" [center]="center" class="h-100" height="100%" width="100%">
<map-marker #markerElem *ngFor="let marker of markers" (mapClick)="openInfo(markerElem, marker.info)" [position]="marker.position" [label]="marker.label" [title]="marker.title" [options]="marker.options">
</map-marker>
<map-info-window>{{ infoContent }}</map-info-window>
</google-map>
Когда вызывается
infoWindow.open (маркер)
, он входит
google-maps. js // строка 1122
, но в строке 1122 появляется сообщение об ошибке, потому что нет метода getAnchor ()
this.infoWindow.open(this._googleMap.googleMap, anchor ? anchor.getAnchor() : undefined);
// in google-maps.js
open(anchor) {
this._assertInitialized();
this._elementRef.nativeElement.style.display = '';
this.infoWindow.open(this._googleMap.googleMap, anchor ? anchor.getAnchor() : undefined); // line 1122
}
Я просмотрел документы Google и не нашел никакого метода "getAnchor".
Вот что я вижу в отладчике при установке точка останова в моем компоненте.
Here is what it shows in the debug console when I look at 'marker', so it has values and is instantiated!
I can copy and paste the whole thing but it's long.
Here is another pic of debug console, inside google-maps.js file, trying to call the getAnchor() with no luck becasue it doesn't exist.
введите описание изображения здесь