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);
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.
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.