API خرائط Google API تتيح crollwheelzoom () - لماذا لا يتصغير بشكل صحيح؟

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

سؤال

لذلك لدي مشكلة مع خريطة Google باستخدام البلاط المخصص ، لكنني تمكنت من تبسيطها إلى المثال أدناه.

أخذ مثال بسيط توفر Google مع عناصر التحكم لقد أضفت الخط

map.enableScrollWheelZoom();

هذا يعطيني HTML البسيطة:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> 
  <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
    <title>Google Maps JavaScript API Example: Controls</title> 
    <script src="http://maps.google.com/maps?file=api&amp;v=2" type="text/javascript"></script> 
    <script type="text/javascript"> 
    function initialize() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map_canvas"))
        map.setCenter(new GLatLng(37.4419, -122.1419), 13);
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        map.enableScrollWheelZoom();
      }
    }
    </script> 
  </head> 
  <body onload="initialize()" onunload="GUnload()"> 
    <div id="map_canvas" style="width: 500px; height: 300px"></div> 
  </body> 
</html> 

يبدو كل شيء جيدًا حتى تقوم بتصغير مستوى التكبير القصوى باستخدام عجلة الماوس (عرض العالم كله). حوالي نصف الوقت يتم عالقه عند مستوى التكبير قبل الأخير. التمرير حوله يعطي بلاط الخريطة على كلا مستويين التكبير.

لقد حاولت في Chrome و IE8 و FF3.6 وكلهم يتصرفون نفس الشيء.

أي أفكار؟


نشأ كخطية - http://code.google.com/p/gmaps-api-issues/issues/detail؟id=2218

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

المحلول

غريب جدا. تمكنت من إعادة إنتاج هذا الخطأ مع خرائط عينة أيضًا: http://gmaps-samples.googlecode.com/svn/trunk/scrollzoom/scrollzoom.htm

يبدو أن تمكين التكبير المستمر يحل المشكلة.

يضيف map.enableContinuousZoom(); بعد map.enableScrollWheelZoom();

حظا طيبا وفقك الله!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top