Domanda

Ho una mappa e Street View di Google in base a condizione lat / coordinate di GNL, zoom, imbardata e beccheggio. Ho bisogno di invocare un javascript per aggiornare un campo nascosto per ciascuno di questi valori ogni volta che uno dei dettagli cambiano da loro predefinito o quando un pulsante viene premuto.

Così ogni volta che la guarda la mappa / street è ingrandita, pan pot, inclinato ecc emette i nuovi dettagli.

Come chiamare le funzioni getPOV (), yawchanged (imbardata: Number), pitchchanged (passo: Number), e zoomchanged (zoom: Number) ogni volta che la Street View è cambiato (simili a MoveEnd per Maps)

È stato utile?

Soluzione

Non sono sicuro del modo migliore per comprimere questo, ma questo funziona per ottenere i dettagli modificati:

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

Altri suggerimenti

Io in genere ho trovato che "MoveEnd" è l'evento migliore da usare come un gancio per ottenere lo stato della mappa quando un utente cambia. Ho bisogno di guardare su come ottenere il lat / lng, zoom, imbardata, e passo dalla mappa isntanct quando ho più tempo questo pomeriggio

// 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(','));
});

Per google maps api v3 ... Supponendo di avere una mappa Streetview già caricato denominato "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'];
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top