我有点问题。 我只想在mapview的中心显示当前用户位置。并且mapview缩放到可以同时显示注释和用户位置的区域。 mapview的showAnnotation func似乎有帮助,而用户位置不在mapview的中心。
答案 0 :(得分:0)
var userLoc = self.mapView.userLocation
let newDistance = CLLocation(latitude: userLoc.coordinate.latitude, longitude: userLoc.coordinate.longitude).distanceFromLocation(CLLocation(latitude: annotation.latitude, longitude: annotation.longitude))
let region = MKCoordinateRegionMakeWithDistance(userLoc.coordinate,2 * newDistance, 2 * newDistance)
let adjustRegion = self.mapView.regionThatFits(region)
self.mapView.setRegion(adjustRegion, animated:true)
上面的代码解决了我的问题。我只是忘了乘以2到距离。 ...
答案 1 :(得分:0)
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(userLocation.coordinate, 800, 800);
[self.mapView setRegion:[self.mapView regionThatFits:region] animated:YES];
}
以上代码行指示地图视图放大到用户所在位置800 x 800米的区域。
答案 2 :(得分:0)
您可以使用:
_mapView.userTrackingMode = MKUserTrackingModeFollow
MKUserTrackingMode
会让地图跟随用户的位置