2012-03-06 14 views
0

ios 5.0にアップデートするまでは正常に動作していました。更新後の地図は海に表示されます。何がうまくいかなかったのか分かりません。 私が使用しているコードがあります。iOSでOceanViewにMapViewが表示されています5

[mapView setMapType:MKMapTypeStandard];

[mapView setZoomEnabled:YES]; 
[mapView setScrollEnabled:YES]; 
MKCoordinateRegion region = { {0.0, 0.0 }, { 0.0, 0.0 } }; 
region.center.latitude = deleg.selectedVenue.latitude; 
region.center.longitude = deleg.selectedVenue.longitude; 
region.span.longitudeDelta = 0.01f; 
region.span.latitudeDelta = 0.01f; 
[mapView setRegion:region animated:YES]; 

ios 5.0でこれを正しく行うにはどうすればよいですか? ありがとう

+2

どのように、どこにdeleg.selectedVenueが設定されていますか?このコードはどのような方法ですか?そのvarは何らかの理由でおそらくここにはありません。 – Anna

答えて

0

ここにiOS5で動作するコードスニペットがあります。お気軽に質問してください。

// grab the location from persistent store 
CLLocation *loc = [store currentLocation]; 


CLLocationCoordinate2D zoomLocation; 
float zoom; 

// it will be NULL on first launch, so initialize to someplace interesting. 
if (!loc) { 
    CLLocationCoordinate2D longPointLightLocation; 
    longPointLightLocation.latitude = 42.033126; 
    longPointLightLocation.longitude = -70.168621; 
    // center the map so the initial zoom when the GPS kicks in is from HERE, not the default 
    [mapView setCenterCoordinate:longPointLightLocation animated:NO]; 
    zoomLocation = longPointLightLocation; 
    zoom = 50; // on first launch, zoom way out 
} else { 
    zoomLocation.latitude = loc.coordinate.latitude; 
    zoomLocation.longitude = loc.coordinate.longitude; 
    zoom = 2; 
} 

MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(zoomLocation, zoom*METERS_PER_MILE, zoom*METERS_PER_MILE); 
[mapView setRegion:[mapView regionThatFits:viewRegion] animated:NO]; 
0

ここで、deleg.selectedVenueが有効な座標であることを確認してください。

if (CLLocationCoordinate2DIsValid(deleg.selectedVenue)) { 
    // add to your mapView 
} 
else { 
    NSLog(@"coordinate is invalid"); 
} 

ここで、CLLocationCoordinate2DIsValidは、コアロケーションフレームワークで宣言された関数です。

関連する問題