Authored by Justin R. Miller

leave attribution at tile source level & consider all tile sources

... ... @@ -13,6 +13,5 @@
@interface RMAttributionViewController : UIViewController <UIWebViewDelegate>
- (id)initWithMapView:(RMMapView *)mapView;
- (id)initWithMapView:(RMMapView *)mapView customAttributionString:(NSString *)attributionString;
@end
... ...
... ... @@ -26,11 +26,6 @@
- (id)initWithMapView:(RMMapView *)mapView
{
return [self initWithMapView:mapView customAttributionString:nil];
}
- (id)initWithMapView:(RMMapView *)mapView customAttributionString:(NSString *)attributionString
{
self = [super initWithNibName:nil bundle:nil];
if (self)
... ... @@ -49,11 +44,22 @@
webView.backgroundColor = [UIColor clearColor];
webView.opaque = NO;
NSMutableString *attribution = [NSMutableString string];
for (id <RMTileSource>tileSource in mapView.tileSources)
{
if ([tileSource respondsToSelector:@selector(shortAttribution)])
{
if ([attribution length])
[attribution appendString:@" "];
[attribution appendString:[tileSource shortAttribution]];
}
}
NSString *attribution = [mapView.tileSource shortAttribution];
if ( ! attribution)
attribution = (attributionString ? attributionString : @"Map data © OpenStreetMap contributors <a href=\"http://mapbox.com/about/maps/\">(Details)</a>");
if ( ! [attribution length])
[attribution setString:@"Map data © OpenStreetMap contributors <a href=\"http://mapbox.com/about/maps/\">(Details)</a>"];
NSMutableString *contentString = [NSMutableString string];
... ...