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

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

【问题讨论】:

    标签: iphone ios geolocation mkmapview


    【解决方案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 的同一个实例。我遇到了一个例外。想不通原因。
    猜你喜欢
    • 2016-01-06
    • 2014-11-08
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    相关资源
    最近更新 更多