首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在MKMapView上显示当前位置

如何在MKMapView上显示当前位置
EN

Stack Overflow用户
提问于 2010-10-20 12:12:20
回答 3查看 33.1K关注 0票数 12

我在我的应用程序上使用MKMapView。我需要在模拟器上显示当前位置。

有没有可能。在模拟器上显示当前位置。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-20 13:21:24

在模拟器中,用户的当前位置始终位于加利福尼亚州的库比蒂诺。

如果您正在使用Interface Builder添加地图视图,只需在地图视图的属性检查器中选中"Shows User Location“复选框。(选择贴图视图并键入command-1以显示属性检查器。)

如果以编程方式添加或操作映射视图,请将映射视图的showsUserLocation属性设置为YES

更新:事实证明这是可能的,只是不使用内置的地图视图功能,而且它并不总是有效的。

最新版本的软件开发工具包(必须在雪豹上运行)可以使用CLLocationManager获取模拟器正在运行的机器的位置。然后,您可以使用此位置创建要在地图视图上显示的注释。它不会像内置的“用户位置指示器”那样工作(至少不需要一些工作),但它会显示用户的当前位置。

有关此技术何时不起作用的详细信息,请参阅this post

有关使用CLLocationManager和CLLocationManagerDelegate并在地图视图上显示用户位置的示例代码,请参阅CLLocationManager documentation的“相关示例代码”部分。

票数 18
EN

Stack Overflow用户

发布于 2013-07-16 13:53:34

代码语言:javascript
复制
 self.mapView.delegate =  self;
 self.mapView.showsUserLocation = YES;

这将显示MkMapview中的当前位置。

如果您使用的是界面生成器,在属性检查器中,我们有一个具有选项Show User Location的选项Behaviour,选中该选项也会执行相同的操作。

如果在模拟器中看不到,

  1. 在simulator.
  2. From菜单栏中打开应用程序,选择Debug -> Location ->(如果选择了"None“选项,则将其更改为"Custom Location")并设置location。

使用CLLocationManager,我们还可以获取当前位置,将Corelocation FrameWork导入到项目

.h文件中

代码语言:javascript
复制
#import <CoreLocation/CoreLocation.h>
@property (nonatomic, strong) CLLocationManager *locationManager;
@property (nonatomic, strong) CLLocation* currentLocation;

.m文件中

代码语言:javascript
复制
if ([CLLocationManager locationServicesEnabled] )
    {
        if (self.locationManager == nil )
        {
            self.locationManager = [[CLLocationManager alloc] init];
            self.locationManager.delegate = self;
            self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
            self.locationManager.distanceFilter = kDistanceFilter; //kCLDistanceFilterNone// kDistanceFilter;
        }

        [self.locationManager startUpdatingLocation];
    }

委托函数:

代码语言:javascript
复制
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
    self.currentLocation = [locations lastObject];
   // here we get the current location
}

希望这个答案对你有所帮助。

票数 13
EN

Stack Overflow用户

发布于 2013-11-21 19:14:42

无论是iOS 6、6.1还是iOS 7,模拟器都不会显示用户的当前位置。要模拟位置,您可以查看here。如果想要显示用户当前位置,请在设备中运行应用程序或更改模拟器设置-

从模拟器的菜单中选择Debug > Location > Custom Location...

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

https://stackoverflow.com/questions/3974703

复制
相关文章

相似问题

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