加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – iOS编程中的中心地图

发布时间:2020-12-14 19:57:07 所属栏目:百科 来源:网络整理
导读:我们如何在地图中关注用户.我希望蓝点(用户位置)位于地图的中心,但我还要允许用户放大和缩小,然后在用户位置放回几秒后放大. 我的教育猜测解决方案:我们检测用户是否放大或缩小,在没有放大或缩小检测三秒后,我们开始关注用户:).你的帮助会很棒:) 此代码放大
我们如何在地图中关注用户.我希望蓝点(用户位置)位于地图的中心,但我还要允许用户放大和缩小,然后在用户位置放回几秒后放大.

我的教育猜测解决方案:我们检测用户是否放大或缩小,在没有放大或缩小检测三秒后,我们开始关注用户:).你的帮助会很棒:)

此代码放大用户位置,但不会延迟放大和缩小:

- (void)locationManager:(CLLocationManager *)manager
        didUpdateToLocation:(CLLocation *)newLocation
              fromLocation:(CLLocation *)oldLocation {

  MKCoordinateRegion userLocation = MKCoordinateRegionMakeWithDistance(newLocation.coordinate,1500.0,1500.0); [mapView setRegion:userLocation animated:YES];


    }

解决方法

我举了一个例子来说明如何将这个工作委托给Map SDK.
当然你可以听取位置的变化,但MKUserTrackingModeFollow会自动为你做这个,所以只需要一行代码

#import <MapKit/MapKit.h>

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    MKMapView *mapView = [[MKMapView alloc] initWithFrame:self.view.frame];

    //Always center the dot and zoom in to an apropriate zoom level when position changes
    [mapView setUserTrackingMode:MKUserTrackingModeFollow];

    //don't let the user drag around the the map -> just zooming enabled
    [mapView setScrollEnabled:NO];

    [self.view addSubview:mapView];
}

那么应用程序看起来像这样:

有关更多信息,请阅读Apple文档:
http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKMapView_Class/MKMapView/MKMapView.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读