Angular-google-maps: Accès à l'objet google.maps complet

Créé le 10 mars 2016  ·  8Commentaires  ·  Source: SebastianM/angular-google-maps

Bonjour, j'adore votre travail jusqu'à présent, mais je suis curieux, cette bibliothèque accordera-t-elle jamais l'accès à l'objet google.maps complet, similaire à l'implémentation angular1 de google-maps? (voir ici: http://angular-ui.github.io/angular-google-maps/#!/api/GoogleMapApi)

L'obtention de l'objet google.maps vous permet de créer, par exemple ...

Code A1 pour créer de nouveaux DirectionsRenderer et DirectionsService:

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

Ou pour créer un nouvel objet LatLng:

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

Cela sera-t-il possible avec cette bibliothèque?

EDIT: Je vois que l'objet google est disponible dans le monde entier .. donc nous pouvons faire var latlng = new google.maps.LatLng (lat, lng); Cependant, n'est-ce pas l'un des objectifs du projet d'empêcher l'objet google de polluer l'espace de noms global?

EDIT to EDIT: voyez aussi maintenant que nous pouvons utiliser l'interface LatLngLiteral, ce qui résout un problème:

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

...

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

Commentaire le plus utile

Si je comprends tout ici correctement, la manière la plus angulaire de gérer cela ne serait-elle pas d'avoir un service qui renvoie l'objet global? Cela permettrait de se moquer pour les tests et d'éviter les dépendances globales.

Tous les 8 commentaires

Salut cviccaro,

Veuillez vous référer au commentaire mentionné ci-dessous pour accéder à l'objet google.maps.

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

@ parmod-arora,

Merci. J'ai réussi à obtenir l'objet de la carte, mais je faisais référence à l'ensemble de l'API du SDK. DirectionsRenderer et DirectionsService ne se trouvent pas sur l'objet de carte lui-même, mais sur l'espace de noms google.maps.

En repensant cela, cependant, j'imagine que l'accès direct à l'espace de noms complet de google.maps ne sera pas disponible de par sa conception, mais que les wrappers autour de chacun seront disponibles plus tard.

@cviccaro ,

Corrigez-moi si je me trompe, vous souhaitez accéder à google.maps et vous souhaitez jouer avec les services DirectionsRenderer et DirectionsService.

Ci-dessous le code.

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 Exactement. Comme je l'ai écrit dans ma modification du message d'origine, je vois que l'objet google global est en effet disponible, donc ma question a un peu dévié je suppose. Ce projet supprimera-t-il éventuellement l'objet google de l'espace de noms global, fournissant un module à importer pour initialiser un DirectionsRenderer ou DirectionsService?

Ce projet supprimera-t-il éventuellement l'objet google de l'espace de noms global

Non, ce n'est pas un objectif du projet. Il devrait fournir une couche d'abstraction facile à utiliser pour les cartes angular2 / google. Nous pouvons réfléchir à la manière dont nous utilisons certains services de l'API google maps comme DirectionsRenderer ou DirectionsService. Je laisse cela ouvert pour discuter à quoi pourrait ressembler une bonne API pour Angular 2

Si je comprends tout ici correctement, la manière la plus angulaire de gérer cela ne serait-elle pas d'avoir un service qui renvoie l'objet global? Cela permettrait de se moquer pour les tests et d'éviter les dépendances globales.

Salut @cviccaro, vous avez mentionné que l'objet google.maps fonctionnait, pourriez-vous me montrer comment vous avez fait cela? Était-ce via GoogleMapsAPIWrapper?

Ce problème a été automatiquement marqué comme obsolète car il n'a pas eu d'activité récente. Il sera fermé si aucune autre activité ne se produit. Merci pour vos contributions.

Cette page vous a été utile?
0 / 5 - 0 notes