2010-11-25 4 views

답변

4

단지 구글 맵을 사용하므로 MKMapView 구글지도 이용 약관 준수에

감사합니다. OpenStreetMap을 MKMapView에 통합 할 수 없습니다. Google 코드에는 iPhone에서 OpenStreetMap을 렌더링하는 API RouteME이 있습니다.

RouteMe는 프로젝트에 포함시키는 방법에 대한 좋은 문서를 제공합니다. 그러니 자유롭게 사용하십시오.

1

가져 오기이 프레임 워크는 :

#import <MapKit/MapKit.h> 

@interface ViewController() <MKMapViewDelegate> 

이 기존의 viewDidLoad 방법

(void)viewDidLoad 
{ 
    // Tile system URL template goes here 
    NSString *template = @"http://tile.openstreetmap.org/{z}/{x}/{y}.png"; 

    // Associating overlay with URL template 
    MKTileOverlay *overlay = [[MKTileOverlay alloc] initWithURLTemplate:template]; 

    // Allowing overlays on MKMapView & disabling Apple map data 
    overlay.canReplaceMapContent = YES; 

    // Adding overlay to MKMapView above Apple lables 
    [self.mapView addOverlay:overlay level:MKOverlayLevelAboveLabels]; 

    // Linking the delegate to allow the next method to be called 
    self.mapView.delegate = self; 
} 

이 코드를 추가하여이 위임지도보기의 대리인의 클래스에서이 곳을 (포함 가장 가능성있는 뷰 컨트롤러).

(MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay 
{ 
    if ([overlay isKindOfClass:[MKTileOverlay class]]) { 
     // Overlay the tile with the new template 
     return [[MKTileOverlayRenderer alloc] initWithTileOverlay:overlay]; 
    } 
    return nil; 
} 
관련 문제