1

MKMapView を使用しようとすると問題が発生します。これらのいずれかを使用しようとするのはこれが初めてであり、その操作方法を理解できませんでした。これを機能させるために使用した 2 つの異なるサンプル コードを次に示しますが、どちらも機能しません。

mapView = [[MKMapView alloc] initWithFrame:CGRectMake( 0, 0, 320, 150 )];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance( CLLocationCoordinate2DMake( latitude, longitude ), metersPerMile*0.5, metersPerMile*0.5 );
MKCoordinateRegion adjustedRegion = [mapView regionThatFits:region];
[mapView setRegion:adjustedRegion];

また

mapView = [[MKMapView alloc] initWithFrame:CGRectMake( 0, 0, 320, 150 )];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance( CLLocationCoordinate2DMake( latitude, longitude ), metersPerMile*0.5, metersPerMile*0.5 );
[mapView setRegion:region];

また

mapView = [[MKMapView alloc] initWithFrame:CGRectMake( 0, 0, 320, 150 )];
[self.mapView setRegion:MKCoordinateRegionMake(CLLocationCoordinate2DMake( latitude, longitude ), MKCoordinateSpanMake( 0.01, 0.01 ))];

これらのコード スニペットはすべて、MKMapView に対してまったく何も行いません。ビューが読み込まれるたびに、それは何もせず、北米全体を見ているだけで、あまり役に立ちません。

誰かがこれで私を助けることができれば、私はそれを大いに感謝します.

4

3 に答える 3

1

ビューにマップを追加していません..のように[self.view addSubView:mapView];

于 2012-04-16T07:02:28.930 に答える
0

MKMapViewDelegateから– mapView:viewForAnnotation:を実装して、ユーザーがどこにいるかを示します。これを見てください:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{   
    // If it's the user location, return nil.
    if ([annotation isKindOfClass:[MKUserLocation class]])
    {
            MKCoordinateSpan coordinateSpan = MKCoordinateSpanMake(0.009, 0.009);
            [mapView setRegion:MKCoordinateRegionMake(annotation.coordinate, coordinateSpan) animated:YES];
    }
    return nil; 

}

于 2012-04-16T07:10:49.310 に答える
0

MapView をロードしようとしている場合は、これが役立ちます

 - (void)mapViewWillStartLoadingMap:(MKMapView *)mapView
  {
     [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
     NSLog(@"map loading...");
  }
于 2012-05-28T03:59:43.923 に答える