Получение широты / lng / масштабирования / рыскания / тангажа из Google Street View

StackOverflow https://stackoverflow.com/questions/730428

Вопрос

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

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

Как мне вызывать функции getPOV(), yawchanged(yaw: Number), pitchchanged(pitch: Number) и zoomchanged(zoom: Number) всякий раз, когда изменяется вид улицы (аналогично moveend для карт)

Это было полезно?

Решение

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

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

Другие советы

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

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

Для Google maps api v3...Предполагая, что у вас уже загружена карта StreetView с именем "панорама"

google.maps.event.addListener(panorama, "pov_changed", function() { 
   var panoInfo   = panorama.getPov();
   var thePitch   = panoInfo['pitch'];
   var isHeading  = panoInfo['heading'];
   var theZoom    = panoInfo['zoom'];
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top