سؤال

لدي خريطة جوجل وإطلالة على الشارع بناء على إحداثيات LAT / LNG المقدمة، والتكبير، والتفايو، والملعب. أحتاج إلى استدعاء جافا سكريبت لتحديث حقل مخفي لكل من هذه القيم كلما تغيرت أي من التفاصيل من التقصير أو عند النقر فوق زر.

لذلك كلما تم تكبير الخريطة / العرض الشارع، من البانعة، مائلة، إلخ إخراج التفاصيل الجديدة.

كيف يمكنني استدعاء الوظائف GetPov ()، Yawchanged (YAW: رقم)، قم بتلويها (الملعب: رقم)، وأصدق (التكبير: رقم) كلما تم تغيير طريقة العرض الشارع (على غرار الرابعة للخدمة للخرائط)

هل كانت مفيدة؟

المحلول

لست متأكدا من أفضل طريقة لضغط هذا ولكن هذا يعمل للحصول على التفاصيل المتغيرة:

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

نصائح أخرى

لقد وجدت عموما أن "JUREND" هو أفضل حدث يستخدم ككافح للحصول على حالة الخريطة عند تغيير المستخدم. سأحتاج إلى البحث عن كيفية الحصول على LAT / LNG، ZOOM، YAW، والملعب من الخريطة ISNTANCT عندما يكون لدي المزيد من الوقت بعد ظهر هذا اليوم

// 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 API V3 ... على افتراض أن لديك خريطة ستريتية محملة بالفعل باسم "بانوراما"

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