如何将地图视图中已缩放的位置更改为当前设备位置

Posted

技术标签:

【中文标题】如何将地图视图中已缩放的位置更改为当前设备位置【英文标题】:How to change already zoomed location in mapview to the current device location 【发布时间】:2012-01-30 11:48:31 【问题描述】:

我正在将地图视图加载到视图控制器的视图中。当我加载地图视图时,它会直接缩放到联系人的位置。我的视图控制器工具栏中有按钮。当我单击此按钮时,地图视图应从已缩放的位置缩放到我的 iphone 的当前位置。此功能类似于 iphone 地图应用程序中的功能。我该怎么做?

【问题讨论】:

【参考方案1】:
//did update user location


  - (void)mapView:(MKMapView *)currentMapView didUpdateUserLocation:(MKUserLocation *)userLocation

        if(shouldChangeSpan) 
           MKCoordinateSpan span;
           span.latitudeDelta = 0.40;
           span.longitudeDelta = 0.45;
           MKCoordinateRegion region = MKCoordinateRegionMake(userLocation.coordinate, span);
            [mapView setRegion:region animated:YES]; 
            shouldChangeSpan = NO;
        
    

shouldChangeSpan 在 h 中声明的 bool 中。并在视图中设置为 no 确实加载,并在您的按钮操作方法中设置为 yes。

【讨论】:

我已经完成了你回答的后半部分。我出错的地方是加载地图视图。是否可以两次调用 map 的 setregion 方法到 mapview 的同一个实例。我遇到了一个例外。想不通原因。

以上是关于如何将地图视图中已缩放的位置更改为当前设备位置的主要内容,如果未能解决你的问题,请参考以下文章

将 Google 地图缩放到当前位置

将Google地图缩放到当前位置

当视图在iOS中加载时如何在缩放时显示用户当前位置?

使用 GPS Provider 在地图上使用设备的当前位置绘制路线

iOS Google 地图 SDK - 可以将当前位置蓝点标记为红点

如何在我的应用程序视图中显示地图?