Angular-google-maps: Acesso ao objeto google.maps completo

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

Olá, estou adorando seu trabalho até agora, mas estou curioso. Esta biblioteca concederá acesso ao objeto google.maps completo, semelhante à implementação de google-maps do angular1? (veja aqui: http://angular-ui.github.io/angular-google-maps/#!/api/GoogleMapApi)

Obter o objeto google.maps permite criar, por exemplo ...

Código A1 para criar novos DirectionsRenderer e DirectionsService:

            uiGmapGoogleMapApi.then(function(maps) {
                vm.gmaps = maps;
                vm.map.directionsDisplay = new vm.gmaps.DirectionsRenderer();
                vm.map.directionsService = new vm.gmaps.DirectionsService();
            });

Ou para criar um novo objeto LatLng:

var latlng = new vm.gmaps.LatLng(lat, lng);

Isso vai ser possível com esta biblioteca?

EDITAR: vejo que o objeto google está disponível globalmente ... então podemos fazer var latlng = new google.maps.LatLng (lat, lng); No entanto, não é um dos objetivos do projeto evitar que o objeto google polua o namespace global?

EDITAR para EDITAR: Veja também agora que podemos usar a interface LatLngLiteral, de modo que lida com um problema:

import {LatLngLiteral} from 'angular2-google-maps/core';

...

var latlng = <LatLngLiteral>{lat: this.latitude, lng: this.longitude};
this.map.setCenter(latlng);
stale discussion / question

Comentários muito úteis

Se estou entendendo tudo aqui corretamente, a maneira mais angular de lidar com isso não seria ter um serviço que retorna o objeto global? Isso permitiria a simulação para teste e evitar dependências globais.

Todos 8 comentários

Oi cviccaro,

Consulte o comentário mencionado abaixo para obter acesso ao objeto google.maps.

https://github.com/SebastianM/angular2-google-maps/issues/139#issuecomment -187343516

@ parmod-arora,

Obrigado. Consegui obter o objeto do mapa, mas estava me referindo a toda a API do SDK. O DirectionsRenderer e o DirectionsService não estão localizados no próprio objeto do mapa, mas no namespace google.maps.

Ao repensar isso, no entanto, imagino que o acesso direto ao namespace google.maps completo não estará disponível por design, mas em vez disso, os wrappers em torno de cada um estarão disponíveis mais tarde.

@cviccaro ,

Corrija-me se eu estiver errado, você deseja acessar google.maps e deseja brincar com os serviços DirectionsRenderer e DirectionsService.

Abaixo está o código.

declare var google: any;

@Directive({
  selector: 'my-comp',  // <home></home>
})
export class MyComp {
  constructor(private _mapsWrapper:GoogleMapsAPIWrapper){
    _mapsWrapper.getMap().then((m: mapTypes.GoogleMap) => {
      console.log(google.maps);
    });
  }
}

@ parmod-arora Exatamente. Como escrevi na minha edição do post original, vejo que o objeto global do Google está realmente disponível, então minha pergunta mudou um pouco, eu acho. Esse projeto acabará por remover o objeto google do namespace global, fornecendo um módulo a ser importado para inicializar um DirectionsRenderer ou DirectionsService?

Este projeto irá eventualmente remover o objeto google do namespace global

Não, este não é um objetivo do projeto. Ele deve fornecer uma camada de abstração fácil de usar para o angular2 / google maps. Podemos pensar em como usamos certos serviços da API do Google Maps, como DirectionsRenderer ou DirectionsService. Deixei abrir para discutir como uma boa API para Angular 2 poderia ser

Se estou entendendo tudo aqui corretamente, a maneira mais angular de lidar com isso não seria ter um serviço que retorna o objeto global? Isso permitiria a simulação para teste e evitar dependências globais.

Olá, @cviccaro, você mencionou que o objeto google.maps está funcionando. Você poderia me mostrar como fez isso? Foi por meio do GoogleMapsAPIWrapper?

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.

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