Angular-google-maps: GoogleMapsAPIWrapper getBounds wird nicht zurückgegeben

Erstellt am 8. Okt. 2016  ·  21Kommentare  ·  Quelle: SebastianM/angular-google-maps

Hallo,
Ich versuche, die Kartengrenzen über den GoogleMapsAPIWrapper-Dienst zu ermitteln.
Ich benutze das VersprechenFunktion getBounds ().

Es wird nichts zurückgegeben.

Hier ist mein Code.

constructor(private searchService: SearchService, 
    private wrapper: GoogleMapsAPIWrapper, 
    private _loader: MapsAPILoader, 
    private zone: NgZone) {
  }

  ngOnInit() {
   this.wrapper.getBounds().then(x => console.log(x));  
  }

Die Funktion console.log wird nicht aufgerufen, da die Peomise niemals etwas zurückgibt.

Vielen Dank

stale discussion / question

Hilfreichster Kommentar

@SebastianM
Wenn ich Angular4 verwende, kann ich bestätigen, dass die Versprechen von GoogleMapsAPIWrapper nicht funktionieren.

Alle 21 Kommentare

@betfun wo hast du diese Komponente in deiner Vorlage platziert? in derKomponente?

Ich habe das selbst gemacht und es funktioniert auch nicht, das war auf Component.

Selbst wenn Sie "getNativeMap" aufrufen und "dann" ausführen, wird dies überhaupt nicht aufgerufen.

Ich habe das gleiche Problem festgestellt, als ich versucht habe, dies für eine Komponente zu tun, deren Vorlage <sebm-google-maps> . Meine Problemumgehung bestand darin, eine benutzerdefinierte Komponente zu erstellen, die in <sebm-googe-maps><custom-component></custom-component></sebm-google-maps> abgelegt wird, um die erforderlichen Funktionen auszuführen.

Ich habe ein ähnliches Problem. Wenn ich Folgendes versuche:
this._wrapper.getNativeMap (). then ((map) => console.log ("mappp", map));

mappp wird nicht ausgedruckt. Wie kann ich sicherstellen, dass die Instanz mit der sebm-google-map-Instanz identisch ist?

Ich würde mich über jede Hilfe freuen

Ich habe eine MapComponent, die eine Karte anzeigt, und ich möchte ihre Grenzen von einer anderen Komponente erhalten. Wie kann ich das machen?

Ich sehe auch das gleiche Problem.

Mit der Komponente sebm-google-map in einer Vorlage können Sie Folgendes verwenden:

<sebm-google-map (boundsChange)="boundsChange($event)"></sebm-google-map>

und dann in Ihrer Komponente:

boundsChange(event) {
    console.log(event.getNorthEast().lat());
    console.log(event.getNorthEast().lng());
    console.log(event.getSouthWest().lat());
    console.log(event.getSouthWest().lng());
  }

@ Josueadelima Danke!
Dies funktionierte nur, wenn der Benutzer über die Karte schwenkt.
Ich muss auch die Grenzen ermitteln, wenn die Karte geladen ist und der Benutzer sie nicht berührt hat.

@SebastianM
Wenn ich Angular4 verwende, kann ich bestätigen, dass die Versprechen von GoogleMapsAPIWrapper nicht funktionieren.

@craftpip Ich bekomme das boundsChange-Ereignis auch beim Laden der Karte ...

Und wie @craftpip erwähnt,

Vielleicht (haben Sie es nicht getestet) funktionieren sie, wenn Sie die Karte mit dem GoogleMapsAPIWrapper und nicht mit der Vorlage sebm-google-map erstellen, aber dann verlieren Sie viele der Funktionen, die Ihnen sebm-google-map bietet.

Ich versuche, beim Laden Grenzen aus der Direktive <agm-circle> zu ziehen. Ich habe versucht, auf das native Element zuzugreifen, konnte jedoch kein AgmCircle-Objekt vom nativen Element abrufen.

this.circleManager.getBounds(this.searchCircle).then((bounds) => { console.log(bounds); }); 

http://plnkr.co/edit/nG6lUsm1KLbQRv3SRdgW?p=preview

Schätzen Sie jede Hilfe dazu.

Irgendeine Lösung dafür? Ich habe das gleiche Problem und die Verwendung des Ereignisses ist keine wirkliche Lösung.

danke an @jplew
auf diese Weise können Grenzen bekommen;)

latNorth: number
  @ViewChild(AgmMap) mapElement: any
  ...

  checkBounds(map) {

    const ln = this.mapElement._mapsWrapper.getBounds()
      .then( (latLngBounds) => {
        return latLngBounds.getNorthEast().lat()
      })
    ln.then( x => this.latNorth = x )

Versprechen funktionieren in Angular 4 immer noch nicht, aber dies ist nicht nur eine getBounds -Funktion, sondern auch eine andere Funktion wie createMarker bei der das Versprechen nicht ausgeführt wird

Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivitäten gab. Es wird geschlossen, wenn keine weitere Aktivität stattfindet. Vielen Dank für Ihre Beiträge.

immer noch das gleiche Problem.

Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivitäten gab. Es wird geschlossen, wenn keine weitere Aktivität stattfindet. Vielen Dank für Ihre Beiträge.

Hat jemand, der immer noch das gleiche Problem hat, es zum Laufen gebracht?

Warum benutzt ihr überhaupt getBounds von GoogleAPIWrapper?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen