如何使用IOS SDK进行基于LBS的开发

2025-04-05 11:32:27
推荐回答(1个)
回答1:

  1、下载iOS地图SDK的最新版本

  2、申请LBS密钥(见第二部分)。

  3、xCode新建工程

  新建一个 Single View Application 工程。注意:Language 选择 Swift


  4、工程配置

  a. 引入地图库&搜索库

  左侧目录中选中工程名,在 TARGETS->Build Phases-> Link Binary With Libaries 中点击“+”按钮,在弹出的窗口中点击“Add Other”按钮,选择解压后的 MAMapKit.framework 文件添加到工程中。

  搜索库的添加方法同上。

  b.引入AMap.bundle资源文件

  AMap.bundle资源文件中存储了定位、默认大头针标注视图等图片,可利用这些资源图片进行开发。

  左侧目录中选中工程名,在右键菜单中选择Add Files to “工程名”…,从 MAMapKit.framework->Resources 文件夹中选择 AMap.bundle文件,并勾选“Copy items if needed”复选框,单击“Add”按钮,将资源文件添加到工程中。

  c.引入系统库

  左侧目录中选中工程名,在TARGETS->Build Settings-> Link Binary With Libaries中点击“+”按钮,在弹出的窗口中查找并选择所需的库(见下表),单击“Add”按钮,将库文件添加到工程中。


  说明:

  备注中,2D表示使用2D栅格地图需要的系统文件,3D表示使用3D矢量地图需要的系统文件、Search表示使用搜索库需要的系统文件。

  SystemConfiguration.framework、CoreTelephonySecurity.framework、Security.framework 是为了统计app信息使用。

  d.Swift编译配置

  首先:新建桥接头文件(放在工程路径下),这里命名为 AMapDemoSwift-Bridging-Header.h,在该头文件中import需要的库文件,代码如下:

  #import
#import

  然后,左侧目录中选中工程名,在 TARGETS->Build Phases-> Swift Compiler - Code Generation -> Objective-C Briding Header 中输入桥接文件的路径


  5、地图的显示

  以3D矢量地图SDK为例,进行介绍。

  在 ViewController.swift 中,继承 MAMapViewDelegate 协议,在 viewDidLoad 方法中配置用户Key,初始化 MAMapView 对象,并添加到 Subview中。代码如下:

  let APIKey = "8a1383b14466a8dbf362f44357c496c0"
class ViewController: UIViewController , MAMapViewDelegate{
 var mapView:MAMapView?
 override func viewDidLoad() {
   super.viewDidLoad()
   // Do any additional setup after loading the view, typically from a nib.
   // 配置用户Key
   MAMapServices.sharedServices().apiKey = APIKey
   // 初始化MAMapView
   initMapView()
 }
 func initMapView(){
   mapView = MAMapView(frame: self.view.bounds)
   mapView!.delegate = self
   self.view.addSubview(mapView!)
 }
}

  运行程序,地图显示出来了,就是这样简单~