2014-09-26 8 views
5

Google Map documentation के अनुसार। आईफोनGoogle मानचित्र api 3 में ज़ूमिंग [ios]

ज़ूमिंग दो अंगुली चुटकी द्वारा पूरा किया जाता है।

तो जब मैं स्क्रीन पर अपनी उंगलियों को टैप करके ले जाएं, फिर नक्शा जूम हो रही, लेकिन उसके बाद जब मैं स्क्रीन से अंगुलियों को रिहा तो ज़ूम कि मैं देख से पहले नक्शा पुनः लोड वास्तविक ज़ूम कि renders तुलना में बहुत अधिक है।

वर्तमान में, मैं परीक्षण कर रहा हूँ कि पर IPhone 5ios 7.1.2 और IPhone के साथ 4Sios 8

मैं अपने अनुप्रयोग में JQuery मोबाइल फ्रेमवर्क का उपयोग कर रहा है और नक्शा उत्पन्न होता है गतिशील। (जब मैं निश्चित मानों के साथ मानचित्र बनाता हूं तो यह ठीक काम करता है)

मैंने उस पहेली को बनाया जिसमें आप एक ही समस्या देख सकते हैं। Link

मेरी समस्या प्रथम चित्र मानचित्र के कुछ चित्र

first

दूसरा चित्र को खोलता है जब मैं उंगली चुटकी के साथ अपने मानचित्र ज़ूम करने के लिए प्रयास करें।

second picture

तीसरा चित्र जब मैं स्क्रीन से अपनी उंगली का विमोचन किया।

third picture

तो यह अपने ज़ूम स्तर है कि दूसरी तस्वीर में दिखा नहीं बनाए रख सकते हैं। कैसे इस समस्या को हल करने के लिए

+0

चुटकी ज़ूम के साथ बदलें इस

google.maps.event.addListener(mapClass.map, 'zoom_changed', myFunction); 

वापस नहीं करता है वास्तविक ज़ूम स्तर, क्योंकि टाइल्स ज़ूम कार्रवाई के दौरान लोड नहीं होतीं। यदि आप 'console.log (mapClass.map.getZoom()); 'चिंच ज़ूमिंग खत्म होने के बाद आपको ज़ूम स्तर मिलेगा। – Omar

+0

केवल 'वेबएप' के मामले में? क्योंकि मानचित्र ऐप में जो पहले से ही 'आईफोन' में स्थापित है, यह इस तरह से काम करता है। – Blu

+0

आपका उदाहरण Google के दस्तावेज़ों के अनुसार सही ढंग से ज़ूम कर रहा है। ऐसा लगता है कि आप अंतिम ज़ूम स्तर पर नई टाइल्स लोड करने के बजाय, मानचित्र छवि को बड़ा बनाना चाहते हैं। हो सकता है कि कुछ प्रकार के व्यूपोर्ट ज़ूमिंग काम करेगी? –

उत्तर

1

की जगह का प्रयास करें:

google.maps.event.addListener(mapClass.map, 'zoom_changed', function() { 
    mapClass.map.panTo(myLatlng); 
}); 

साथ:

google.maps.event.addListener(mapClass.map, 'zoom_changed', function() { 
    mapClass.map.panTo(mapClass.map.center); 
}); 

आशा है कि यह मदद करता है।

+0

कुछ भी नहीं बदला। वही समस्या मौजूद है – Blu

+0

ओह! शांत मैं फिर से फिर से देखूँगा –

0

मैंने इस समस्या को हल किया (या संभवतः एक बहुत ही समान) zoom_changed श्रोता में किए गए काम को थ्रॉटलिंग खरीदते हैं। मैंने lodash throttle का उपयोग किया।

इस

google.maps.event.addListener(mapClass.map, 'zoom_changed', _.throttle(myFunction,100));