Outdooractive / route-me

Open source map library for iOS
Other
122 stars 400 forks source link

blurry labels for markers #103

Open incanus opened 12 years ago

incanus commented 12 years ago

Over in mapbox/mapbox-ios-sdk#87 we have noticed blurriness when setting a label which shows up on non-retina devices. As it turns out, RMMarker objects can have fractional coordinates and this is what causes it. If you snap them to integer pixel boundaries on click or otherwise before setting/showing the label, this is fixed.

Do you have any ideas where the best place to do this would be? Right in setLabel: seems odd since that doesn't necessarily come at interaction time. But in showLabel won't be caught on first set/show, only on successive ones. Maybe in the gesture handling in RMMapView?

incanus commented 11 years ago

I've been working on this in mapbox/mapbox-ios-sdk#62 and mapbox/mapbox-ios-sdk#87, which I've closed in favor of this. Putting a roundf() pixel fix in correctPositionOfAllAnnotations seems to work well, since this continually gets cancelled during repeated movement so it's not a performance hit. But the rounding is noticeable -- briefly after the map pan/zoom stops (0.1s, though I've tried other delays, include 0.0) you can see the markers move a fraction of a pixel. I'm not sure of a good way to remedy this. Any ideas?

incanus commented 11 years ago

I've got an attempted fix in the above commit on our pixel-aligned-layers branch. Any luck? /cc @russellquinn @nfarina