Получение широты / долготы / масштаба / рыскания / высоты тона из Google Street View - PullRequest
1 голос
/ 08 апреля 2009

У меня есть карта Google и вид улицы на основе предоставленных координат широты / долготы, масштаба, рыскания и шага. Мне нужно вызвать javascript для обновления скрытого поля для каждого из этих значений всякий раз, когда какая-либо из деталей отличается от их значения по умолчанию или когда нажимается кнопка.

Таким образом, всякий раз, когда изображение карты / улицы увеличивается, панорамируется, наклоняется и т. Д., Выводятся новые детали.

Как вызывать функции getPOV (), рысканье (рыскание: номер), изменение высоты тона (тангаж: номер) и изменение масштаба (зум: число) при каждом изменении вида улицы (аналогично движению в Картах)

Ответы [ 3 ]

4 голосов
/ 06 мая 2009

Не уверен, что лучший способ сжать это, но это работает, чтобы получить измененные детали:

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);
});
2 голосов
/ 02 октября 2011

Для карт Google api v3 ... При условии, что у вас уже есть загруженная карта улиц с именем "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'];
});
2 голосов
/ 08 апреля 2009

Я обычно обнаружил, что "moveend" - это лучшее событие, которое можно использовать в качестве ловушки для получения состояния карты, когда пользователь ее меняет. Мне нужно посмотреть, как получить широту / долготу, масштабирование, рыскание и высоту тона на карте, когда у меня будет больше времени сегодня днем ​​

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