Question

J'ai une carte Google et vue sur la rue sur la base fourni lat / coordonnées, zoom lng, lacet et de tangage. Je dois appeler un javascript pour mettre à jour un champ caché pour chacune de ces valeurs chaque fois que les détails changent de leur valeur par défaut ou lorsque clique sur un bouton.

Alors, quand la vue carte / rue est zoomée, Enrobés, incliné etc, il sort les nouveaux détails.

Comment appeler les fonctions getPOV (), yawchanged (lacet: Number), pitchchanged (pas: Number) et zoomchanged (zoom: Number) lorsque la fonctionnalité Street View est modifié (semblable à MoveEnd pour les cartes)

Était-ce utile?

La solution

Je ne sais pas de la meilleure façon de compresser cela, mais cela fonctionne pour obtenir les détails ont été modifiés:

GEvent.addListener(myPano, 'initialized', function(pano) {
  alert("newlng: " + pano.latlng.lng() + ", newlat: " + pano.latlng.lat());
});

GEvent.addListener(myPano, 'yawchanged', function(newyaw){
  alert("yawchanged: " + newyaw);
});

GEvent.addListener(myPano, 'pitchchanged', function(newpitch) {
  alert("pitchchanged: " + newpitch);
});

GEvent.addListener(myPano, 'zoomchanged', function(newzoom) {
  alert("zoomchanged: " + newzoom);
});

Autres conseils

Je trouve généralement que « MoveEnd » est le meilleur événement pour l'utiliser comme un crochet pour obtenir l'état de la carte lorsqu'un utilisateur change. Je vais devoir regarder comment obtenir le lat / lng, zoom, lacet, et pas de la carte isntanct quand j'ai plus de temps cet après-midi

// map is the instance of your GMap2
GEvent.addListener(map, 'moveend', function() {
  var center = map.getCenter();
  var zoom = map.getZoom();

  alert([center.lat(), center.lng(), zoom].join(','));
});

Pour les cartes google api v3 ... En supposant que vous avez une carte de Streetview déjà chargé nommé "panorama"

google.maps.event.addListener(panorama, "pov_changed", function() { 
   var panoInfo   = panorama.getPov();
   var thePitch   = panoInfo['pitch'];
   var isHeading  = panoInfo['heading'];
   var theZoom    = panoInfo['zoom'];
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top