2013-07-06 76 views
1

我正在開發使用iOS 6 MKMap視圖的應用程序,我想要啓用「用戶位置按鈕」(您在底部看到的按鈕)當您使用地圖應用程序時,屏幕左側)。 我沒有找到任何可以幫助我,所以我一直在努力,使這個按鈕自己對這個代碼:無法在iOS 6地圖上添加用戶位置按鈕

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { 
    CLLocationCoordinate2D currentCoordinates; 
    currentCoordinates.latitude = newLocation.coordinate.latitude; 
    currentCoordinates.longitude = newLocation.coordinate.longitude; 

    MKCoordinateRegion viewRegion = MKCoordinateRegionMake(currentCoordinates, _mapView.region.span); 
    [_mapView setRegion:viewRegion animated:YES]; 
    [locationManager stopUpdatingLocation]; 

} 

- (IBAction)moveToCurrentLocation:(id)sender { 
     [locationManager startUpdatingLocation]; 
} 

所以,當我按下按鈕的LocationManager更新用戶的當前位置與地圖改變它的區域以用戶的當前位置和相同的跨度爲中心進行新的設計。 現在我還有一個問題:當我按下按鈕時,地圖會移動到正確的座標上,但即使我使用舊跨度克里特新區域,它也會縮小(換句話說跨度增加)。 我無法理解這種行爲,我想保留舊的span作爲地圖應用程序。

回答

0

這在地圖上的按鈕,切換上的MapView的userTrackingMode屬性,因此它設置爲其中之一:如果你想使用官方的iOS按鈕爲

MKUserTrackingModeNone //nothing, normal map view 
MKUserTrackingModeFollow //user is highlighted and stays centered on map when you move 
MKUserTrackingModeFollowWithHeading //you get the heading as well, so your direction is up on the map 
+0

現在它工作正常!謝謝! – eug882

0

,此代碼將其添加到你的UIToolbar並將其連接到你的地圖視圖

UIBarButtonItem *trackingButton = [[MKUserTrackingBarButtonItem alloc] initWithMapView:self.mapView]; 
NSMutableArray *items = [[NSMutableArray alloc] initWithArray:self.toolbar.items]; 
[items addObject:trackingButton]; 
[self.toolbar setItems:items]; 
相關問題