2014-03-04 2 views
0

내가 RMPolylines 및 RMShapes를 사용하여 새로운 오전과 내가 올바르게 코드를 실행하고 있지만 아무것도 맵에 표시되지 않습니다 생각 :아이폰 OS MapBox RMShape

RMMapBoxSource *tilesource = [[RMMapBoxSource alloc] initWithMapID:kMapID]; 

[mapView setTileSource:tilesource]; 

NSArray *locations = [NSArray arrayWithObjects:[[CLLocation alloc] initWithLatitude:-33.981595 longitude:151.072900],[[CLLocation alloc] initWithLatitude:-33.981560 longitude:151.073544],[[CLLocation alloc] initWithLatitude:-33.981560 longitude:151.073845],[[CLLocation alloc] initWithLatitude:-33.981666 longitude:151.074016], nil]; 

RMAnnotation *annoation43 = [[RMAnnotation alloc] initWithMapView:mapView coordinate:((CLLocation *)[locations objectAtIndex:0]).coordinate andTitle:@"Hola biatches!"]; 

annoation43.userInfo = locations; 
[annoation43 setBoundingBoxFromLocations:locations]; 
[mapView addAnnotation:annoation43]; 

-(RMMapLayer *)mapView:(RMMapView *)mapViewer layerForAnnotation:(RMAnnotation *)annotation 
{ 
    if (annotation.isUserLocationAnnotation) 
     return nil; 

    RMShape *shape = [[RMShape alloc] initWithView:mapView]; 

    shape.lineColor = [UIColor orangeColor]; 
    shape.lineWidth = 5.0; 

    for (CLLocation *location in (NSArray *)annotation.userInfo) 
     [shape addLineToCoordinate:location.coordinate]; 

    return shape; 
    NSLog(@"It is working Dora!"); 
} 

그래서 내가 여기에 뭔가 잘못했다 생각하지만 난 그것을 선택할 수 없습니다 - 더 많은 코드 또는 정보가 필요하면 알려주세요.

답변

0

좋아요. 지금은 고쳐졌고 간단한 문제인 것처럼 보입니다.하지만 왜 이런 일이 발생했는지 자세히 알면 듣고 싶습니다.

추가 된 다음

mapView.delegate = self; 

나는 내가 이미 대리자를 설정하지만, 분명히하지 않았다 생각!

+0

네, 위임자는 반드시'-mapView : layerForAnnotation :'delegate 메소드를 사용하도록 설정해야합니다. – incanus

0

먼저 이 return으로 인해 실행되지는 않지만 사소한 것입니다.

나는 기본적으로 shape example을 따른다. 무엇이 잘못 될 수 있는지 잘 모르겠습니다. 멍청한 질문이지만, 화면상의 모양입니까? 즉,이 모양으로 덮힌 지역을 보여주는지도보기입니까?

+0

하하 그래 나는 단지 로그를 알아 차렸다. 그래도 최대한 모양을 화면에 표시 할 수 있습니다.지도 상자 예제 맵 ID로 mapID를 변경하려고 시도했지만 아직 아무 것도 나타나지 않았습니다. 그러나 "복사, 붙여 넣기 코드"EXACT 모양 예를 들어, 예제 RMShape 줄을 보여줍니다. 내 코드를 살펴보고 관련성이있는 정보를 더 게시하려고합니다. – jkd359