MapXL / route-me

Automatically exported from code.google.com/p/route-me
0 stars 0 forks source link

Panning the map in iPhone OS 4.0 causes tiles to freeze up. #137

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Panning the map in iPhone OS 4.0 causes tiles to freeze up.

Some tiles will move but some will stay frozen. Same happens with zooming.

Original issue reported on code.google.com by rat...@gmail.com on 9 Apr 2010 at 4:06

GoogleCodeExporter commented 8 years ago
When the map is dragged and new tiles appear all the previously displayed tiles 
freeze and only the new tiles 
move.

I've been trying to find the cause but no luck yet. As far as I can tell the 
correct moveBy methods are being called.

Original comment by rat...@gmail.com on 10 Apr 2010 at 12:50

GoogleCodeExporter commented 8 years ago
I've been struggling with the problem but I've not succeeded yet. 

I've found that as soon as new tiles are added the screenLocation property
(RMTileImage) of the visible tiles becomes CGRectZero as well as image and layer
property become nil.  (see attached image) 

It seems that those properties are changed somewhere outside the RMTileImage 
class
methods and I have no idea where it happens.  

Original comment by dmitry.s...@gmail.com on 24 Apr 2010 at 11:22

Attachments:

GoogleCodeExporter commented 8 years ago
This bug is due to NSCountedSet behavior changing in os4.0 - took me about a 
week to nail down. I've filed a 
bug with apple: 7933198. I'm attaching a simple class that overrides the 
addObject: and removeObject: methods 
on NSCountedSet - use it as a drop in replacement and routeme works properly on 
os4.0.

Original comment by erik.scr...@gmail.com on 3 May 2010 at 6:00

Attachments:

GoogleCodeExporter commented 8 years ago
Good news!!! I have managed to fix it by replacing NSCountedSet with queue but 
I 
haven't fully tested it yet. 

Original comment by dmitry.s...@gmail.com on 3 May 2010 at 8:26

GoogleCodeExporter commented 8 years ago
I needed to fix this ASAP, so I used the RMCountedSet from Erik Scrafford: 

1: In RMTileImageSet.h, import RMCountedSet.h
2: in RMTileImageSet.h and RMTileImageSet.m, replace all occurrences
of NSCountedSet with RMCountedSet

Thanks, Erik!

/Knut

Original comment by knu...@gmail.com on 10 Jun 2010 at 7:02

GoogleCodeExporter commented 8 years ago
Cant build any of test projects. gets Linking error:
".objc_class_name_RMCountedSet", referenced from:
literal-pointer@__OBJC@__cls_refs@RMCountedSet in libMapView.a(RMTileImageSet.o)
symbol(s) not found
collect2: ld returned 1 exit status

Original comment by vit...@gmail.com on 21 Jun 2010 at 11:57

GoogleCodeExporter commented 8 years ago
I've resolved this problem for myself by adding .h and .m RMCountedSet files to 
MapView project. It works now.

Original comment by greg.afa...@gmail.com on 22 Jun 2010 at 9:41

GoogleCodeExporter commented 8 years ago
vitabr,
Same here, any ideas?

Original comment by nma...@gmail.com on 25 Jun 2010 at 4:13

GoogleCodeExporter commented 8 years ago
See comment 7. it helps me. just add RMCountedSet.h --.m files again to MapView 
project. and rebuild :) 

Original comment by vit...@gmail.com on 25 Jun 2010 at 4:18

GoogleCodeExporter commented 8 years ago
Solved,
The files: RMCountedSet.h and RMCountedSet.m wasn't added to the project.

Original comment by nma...@gmail.com on 25 Jun 2010 at 4:39

GoogleCodeExporter commented 8 years ago
As iOS 3.2 and 4.0 are currently separate forks, shouldn't we support 3.2 as 
well? On the iPad, the project will no longer compile as 
http://code.google.com/p/route-me/source/detail?r=628 removed the RMCountedSet 
files. Now they no longer exist in the filesystem or the project. Adding the 
files back in from r627 solves the problem locally, but the project otherwise 
won't build against 3.2. 

Original comment by codesorc...@gmail.com on 7 Jul 2010 at 11:43

GoogleCodeExporter commented 8 years ago
This solved the problem
great

Original comment by rmorec...@gmail.com on 4 Nov 2010 at 1:08