0

Ich bin neu bei ionischen Rahmen. Ich baue eine App, die mit Cordova Google Map Plugin arbeitet. Mein Problem ist das: Ich möchte alle benutzerdefinierten Infofenster angezeigt werden, nachdem die Karte geladen ist. Ich habe viele Möglichkeiten ausprobiert, aber immer noch kein Glück. Jetzt öffnet es nur ein Fenster pro Klick auf einen Marker und schließt es, wenn ich auf einen anderen Marker klicke. Vielleicht kann mir jemand helfen, dieses Problem zu lösen? vielen Dank !!Öffnen Sie mehrere benutzerdefinierte Infofenster am ionischen Cordova-Plugin Google Karte

addMarkers(markers){ 
    for(let marker of markers){ 
    this.map.addCircle({ 
     center:{lat:marker.lat, lng:marker.lng}, 
     radius: 50, 
     strokeColor: 'red', 
     strokeWidth:1, 
     fillColor:'red' 
    }); 
    this.map.addMarker({ 

     icon: { 
     'url': "./assets/marker.png", 
     'size': { 
      width: 27, 
      height: 10 
     }, 

     }, 
     animation: 'DROP', 
     position: { 
     lat: marker.lat, 
     lng: marker.lng 
     } 

    }).then((marker)=>{ 
     marker.on(GoogleMapsEvent.MARKER_CLICK) 
     .subscribe(() => { 
     this.bindInfo(marker, this.setDiv(div)); 

    }) 
    }) 

} 

} 
setDiv(div){ 

    let compFactory = this.resolver.resolveComponentFactory(DivComponent); 
    this.compRef = compFactory.create(this.injector); 
    if (this.compRef) this.compRef.instance.timeInSeconds = div.time; 
    this.appRef.attachView(this.compRef.hostView); 
    let div = document.createElement('div'); 
    div.appendChild(this.compRef.location.nativeElement); 
    return div 
    } 
bindInfo(marker, content){ 

    let info= new HtmlInfoWindow(); 
    info.setContent(content); 
    info.open(marker) 
} 

Antwort

Verwandte Themen