Pregunta

Tengo una vista de mapa y la calle de Google basado en proporcionado lat / lng coordenadas, zoom, guiñada y cabeceo. Necesito para invocar un javascript para actualizar un campo oculto para cada uno de estos valores cada vez que alguno de los detalles de su cambio predeterminado o cuando se hace clic en un botón.

Así que cuando la vista del mapa / de la calle está ampliada, panoramizado, etc inclinada que da salida a los nuevos detalles.

Como llamar en las funciones getPOV (), yawchanged (guiñada: Number), pitchchanged (pitch: Number), y zoomchanged (zoom: Number) cada vez que se cambia la opinión de la calle (similares a MoveEnd de Mapas)

¿Fue útil?

Solución

No está seguro de la mejor manera para comprimir esto, pero esto funciona para obtener los datos modificados:

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

Otros consejos

Yo por lo general he encontrado que "MoveEnd" es el mejor evento para su uso como un gancho para obtener el estado del mapa cuando un usuario cambia. Que tendrá que buscar la manera de conseguir el lat / lng, zoom, guiñada, y el tono del mapa isntanct cuando tengo más tiempo esta tarde

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

Para los mapas de Google API v3 ... Asumiendo que tiene un mapa streetView ya cargado el nombre de "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'];
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top