iOS MapView在visibleRect中显示当前位置和注释

时间:2014-12-08 02:45:50

标签: ios mkmapview

我有点问题。 我只想在mapview的中心显示当前用户位置。并且mapview缩放到可以同时显示注释和用户位置的区域。 mapview的showAnnotation func似乎有帮助,而用户位置不在mapview的中心。

3 个答案:

答案 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会让地图跟随用户的位置

相关问题