나는 특정한 관련 답변을 들었지만 올바른 대답이나 필요한 대답을 얻지 못하는 것 같습니다.mkmapview에서 OpenStreetmap을 여는 방법은 무엇입니까? -iphone
mkmap보기에서 googlemap을 열 때 mkmapview에서 openstreet map을 열고 싶습니다.
표시되는 링크 또는 샘플 코드가있는 경우 전달하십시오. 사전
나는 특정한 관련 답변을 들었지만 올바른 대답이나 필요한 대답을 얻지 못하는 것 같습니다.mkmapview에서 OpenStreetmap을 여는 방법은 무엇입니까? -iphone
mkmap보기에서 googlemap을 열 때 mkmapview에서 openstreet map을 열고 싶습니다.
표시되는 링크 또는 샘플 코드가있는 경우 전달하십시오. 사전
단지 구글 맵을 사용하므로 MKMapView 구글지도 이용 약관 준수에
감사합니다. OpenStreetMap을 MKMapView에 통합 할 수 없습니다. Google 코드에는 iPhone에서 OpenStreetMap을 렌더링하는 API RouteME이 있습니다.
RouteMe는 프로젝트에 포함시키는 방법에 대한 좋은 문서를 제공합니다. 그러니 자유롭게 사용하십시오.
가져 오기이 프레임 워크는 :
는#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;
}