New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Map disappears in some zoom cases under iOS #32
Comments
Improved, now such cases are much more rare. |
Still quite a critical bug (as it blocks the map and the page needs reload) :( |
Without a doubt the most critical issue relating to Android 2.2+ webkit with Zoom in and out. Not having consistent zooming capabilities makes the Map API difficult to develop with right now. iOS seems more stable. |
Yep, I'll be fixing it ASAP. |
@cgalli I'll probably disable zoom animation in Android temporarily until I find a good fix for strange zoom behavior - it worked acceptably on my test Google Nexus One, but it turned out that many things behave differently in different Android phones, especially when it comes to features like CSS3 transforms and transitions. :( |
@cgalli could you please check if it works better without zoom animation on your phone? |
OK. Some rigorous testing on Android 2.2.1 (Droid X device). Using updated code, the zoom feature seems to be working as expected. Tiles are visible and seem to consistently load properly. However, once a zoom is complete, dragging the map around via touch eventually yields similar results where the map tiles become invisible and no JS error is thrown. To test this theory I added an onClick event to the map that calls the map.setView like this: Essentially just a refresh of the map for the exact zoom and latlng center. This makes the tiles visible again. I then added the options of {fadeAnimation: false, zoomAnimation: false} to the map creation. Now zooming and dragging afterwards works without tiles disappearing. I think this should help pinpoint the larger issue at hand perhaps? I still had to set zoomAnimation to false for Android to consistently work without tiles disappearing. Also tested heavily in iOS v4.x (iPhone US ATT). I can get tiles to disappear occasionally (maybe 1 out of 20) with pinch zooming. I can then use the onClick event I added to the map to get the tiles to show. Interesting... Adding a zoomend event verifies that when the tiles fail to load/show after a pinch zoom, the zoomend event does not fire, which implies the end of a pinch is sometimes not detected after it starts. So that's another bug lurking there. Here is the test example I have, for anyone else who wants to copy what I've done to test: I'm using transparent CM tiles on top of a base terrain map I made residing in Amazon S3. |
Thank you very much for such a thorough testing, it's very helpful! I'll then leave zoom and fade animation to false by default on Android until I find how to make it more stable. Regarding iOS - I noticed this too, apparently touchend doesn't fire after touchstart/touchmove in some rare cases, but I didn't manage to understand why. I'll probably get this fixes during next week. |
Made a separate issue for Android because the it is now fixed in iOS. #69 |
No description provided.
The text was updated successfully, but these errors were encountered: