0
我想使用地圖視圖顯示我的當前位置,我的測試設備是Ipad mini(WIFI,IOS7)。IOS MapKit引腳不在當前位置
我更新當前位置到我UIMapView的委託方法
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
CLLocation *currentLocation = [locations lastObject];
MyAnnotation *start = [[MyAnnotation alloc] init];
start.coordinate = currentLocation.coordinate;
[_mapView addAnnotation:start];
MKCoordinateRegion region;
region = MKCoordinateRegionMakeWithDistance(currentLocation.coordinate, 100, 100);
[_mapView setRegion:region animated:YES];
}
但我得到這樣的照片下面的結果,我現在的位置是在藍色的點,但紅色的針在另一個地方。我認爲這個針腳應該與我目前的位置相匹配,即藍點。但事實並非如此。有人能告訴我理由,謝謝。
嘗試增加您的註解在地圖視圖的委託方法didUpdateUserLocation和使用userLocation.coordinate,而不是你自己的CLLocationManager(CLLocationManager爲它可能使用與地圖視圖的藍點內部位置mgr不同的過濾條件)。 – Anna
我didUpateUserLocation委託方法是像下面的代碼,但它得到相同的結果.-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {CLRocationCoordinate2D coordinate = userLocation.location.coordinate; MKCoordinateRegion reg = MKCoordinateRegionMakeWithDistance(coordinate,100,100); mapView.region = reg; } – billwang1990
評論中的代碼不會添加註釋。它只是設置地圖的區域。我建議在didUpdateUserLocation而不是didUpdateLocations中執行addAnnotation(以及設置區域)。 – Anna