Pergunta

Eu tenho um mapa do Google e o Street View com base nas coordenadas LAT/LNG fornecidas, zoom, guinada e arremesso. Preciso invocar um JavaScript para atualizar um campo oculto para cada um desses valores sempre que qualquer um dos detalhes muda de seu padrão ou quando um botão for clicado.

Portanto, sempre que o mapa/vista da rua é ampliado, inclinado, inclinado etc., ele gera os novos detalhes.

Como faço para chamar as funções getpov (), Yawchanged (guinada: número), pitchchanged (pitch: número) e zoomChanged (zoom: número) sempre que a vista da rua é alterada (semelhante ao movimentação para mapas)

Foi útil?

Solução

Não tenho certeza da melhor maneira de comprimir isso, mas isso funciona para obter os detalhes alterados:

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

Outras dicas

Geralmente descobri que "Movend" é o melhor evento a ser usado como um gancho para obter o estado do mapa quando um usuário o altera. Preciso procurar como obter o Lat/LNG, Zoom, Yaw e Pitch do mapa é quando tiver mais tempo 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 o Google Maps API V3 ... Supondo que você tenha um mapa de Streetview já carregado chamado "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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top