Angular-google-maps: GoogleMapsAPIWrapper getBounds não retorna

Criado em 8 out. 2016  ·  21Comentários  ·  Fonte: SebastianM/angular-google-maps

Olá,
Estou tentando obter os limites dos mapas através do serviço GoogleMapsAPIWrapper.
Eu estou usando a promessafunção getBounds ().

Nada é devolvido.

Aqui está meu código.

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

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

a função console.log não é chamada porque o peomise nunca retorna nada.

Obrigado

stale discussion / question

Comentários muito úteis

@SebastianM
Estou usando o Angular4, posso confirmar que as promessas do GoogleMapsAPIWrapper não funcionam.

Todos 21 comentários

@betfun onde você colocou este componente dentro do seu modelo? dentro decomponente?

Eu mesmo fiz isso e também não funciona, isso foi no Component.

Mesmo chamar "getNativeMap" e fazer "then" nisso não é chamado de forma alguma.

Eu tive o mesmo problema ao tentar fazer isso em um componente que tinha <sebm-google-maps> no modelo. Minha solução alternativa foi criar um componente personalizado para colocar dentro de <sebm-googe-maps><custom-component></custom-component></sebm-google-maps> para executar a funcionalidade necessária.

Eu tenho um problema semelhante. Quando tento fazer o seguinte:
this._wrapper.getNativeMap (). then ((map) => console.log ("mappp", map));

mappp não é impresso. Como posso ter certeza de que a instância é igual à instância sebm-google-map?

Eu apreciaria qualquer ajuda

Eu tenho um MapComponent que exibe um mapa e quero obter seus limites de outro componente. Como posso fazer isso?

Também estou vendo o mesmo problema.

Usando o componente sebm-google-map dentro de um modelo, você pode usar:

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

e, em seguida, dentro do seu componente:

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

@josueadelima Obrigado!
Isso só funcionou quando o usuário fez uma panorâmica do mapa.
Também preciso obter os limites quando o mapa é carregado e o usuário não o tocou.

@SebastianM
Estou usando o Angular4, posso confirmar que as promessas do GoogleMapsAPIWrapper não funcionam.

@craftpip Estou recebendo o evento boundsChange no carregamento do mapa também ...

E como as promessas de menção de

Talvez (não testei) eles funcionem se você criar o mapa usando o GoogleMapsAPIWrapper e não o modelo sebm-google-map mas então você perde muitas das funcionalidades que sebm-google-map oferece.

Estou tentando obterBounds da diretiva <agm-circle> no carregamento. Tentei acessar o elemento nativo, mas não consegui obter o objeto AgmCircle do elemento nativo.

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

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

Agradeço qualquer ajuda nisto.

Alguma correção para isso? Estou tendo o mesmo problema e usar o evento não é realmente uma solução.

obrigado a @jplew
desta forma, pode obter Bounds;)

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 )

As promessas ainda não funcionam no Angular 4, mas esta não é apenas a função getBounds , também outras funções como createMarker onde a promessa não é cumprida

Este problema foi marcado automaticamente como obsoleto porque não teve atividades recentes. Ele será fechado se nenhuma outra atividade ocorrer. Obrigado por suas contribuições.

ainda tendo o mesmo problema.

Este problema foi marcado automaticamente como obsoleto porque não teve atividades recentes. Ele será fechado se nenhuma outra atividade ocorrer. Obrigado por suas contribuições.

Mesmo agora, ainda tendo o mesmo problema, alguém o fez funcionar?

Por que vocês estão usando getBounds do GoogleAPIWrapper?

Esta página foi útil?
0 / 5 - 0 avaliações