1

我有一个项目受限于使用苹果地图、核心定位和苹果的 mapkit——不允许使用第 3 方接口。

我需要显示一个地图视图,显示用户的当前位置(标准蓝点),同时在离用户当前位置最近的道路上放置一个大头针——一个“捕捉到道路”,这是对用户最近位置的最佳估计。

我知道如何检索用户的当前地址并使用返回的街道名称和地址,但我不知道如何在 mkmapview 中将 pin 添加到生成的街道。我查看了 mkdirectionsrequest,但不确定如何调整返回的数据来解决这个问题。

在此先感谢您的帮助!

4

2 回答 2

2

我认为你可以通过调整定位服务模式来完成定位服务的道路捕捉。

Apple在 CLLocationManager 上的开发者文档提供了四种“活动”模式:

  • 其他~未指定
  • 汽车~ 在汽车、卡车、公路车辆中
  • 健身~行人相关活动
  • 其他导航~ 火车、飞机、船

(关于第一个和第四个之间的歧义没有评论......开发人员文档中的细节也比我上面的几句话总结更多)

基本上,您设置CLActivityTypeCLActivityTypeAutomotiveNavigation,并且假设您在公路车辆中,它会做一些明智的事情。从我所见,这更积极地捕捉到车辆道路,尽管你仍然受到 Apple 地图保真度的限制。

于 2015-01-14T06:18:15.653 回答
1

对于捕捉到道路功能,您需要该街道的纬度和经度坐标序列。您通常永远不会获得该矢量信息,因为该矢量数据的所有者(TomTom诺基亚)不允许这样做。

只有基于OpenStreetMap的数据是免费的,并且矢量数据是可用的。

ios 使用TomTom数据,并且正如预期的那样,您不会获得街道折线的坐标。

于 2013-11-15T18:30:37.470 回答