首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何存储当前的MKCoordinateRegion或缩放级别?

如何存储当前的MKCoordinateRegion或缩放级别?
EN

Stack Overflow用户
提问于 2011-05-30 19:13:27
回答 1查看 5.1K关注 0票数 3

我有一个应用程序,这是提供一个可缩放的MKMapView给用户。我希望能够存储用户的首选坐标和缩放级别,当地图视图第一次显示时。

目前,在viewDidLoad中,我为初始地图演示提供了一组默认的坐标和缩放级别:

代码语言:javascript
复制
    zoomLocation.latitude = 55.50;
    zoomLocation.longitude = -5.50;

    // specify size of region to display
    MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(zoomLocation, 340.0*METERS_PER_MILE, 340.0*METERS_PER_MILE);

    // auto adjust region to fit screen
    MKCoordinateRegion adjustedRegion = [mapView regionThatFits:viewRegion];                

    // display the new region
    [mapView setRegion:adjustedRegion animated:YES];

我想要做的是,当用户滚动和缩放地图到他们首选的默认视图时,他们可以点击"Set Default“按钮,并存储所需的属性,以便在以后加载视图时实现。

为了存储用户所选视图的坐标,我有如下代码:

代码语言:javascript
复制
// gets coordinates of currently viewed map image
CGPoint pointCentrePoint = CGPointMake(mapView.frame.size.width/2, mapView.frame.size.height/2);
centrePoint = [mapView convertPoint:pointCentrePoint toCoordinateFromView:mapView]; 

NSLog(@"LAT: %f LON: %f", centrePoint.latitude, centrePoint.longitude);

我正在为如何存储用户选择的MKCoordinateRegion或缩放级别而苦苦挣扎。有没有一种方法可以访问当前视图的这个属性,以便将来加载视图时可以重用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-03 20:17:39

与JavaScript Google Maps api不同,MKMapView没有现成的“缩放级别”属性(对于您的目的,它实际上并不是必需的)。

使用region属性中的中心值和跨度值。

This question给出了一个如何将区域保存/加载到NSUserDefaults的示例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6175542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档