ioslbs开发,iosbste

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

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 MAMapKit/MAMapKit.h

#import AMapSearchKit/AMapSearchAPI.h

然后,左侧目录中选中工程名,在 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!)

}

}

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

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

第一部分 使用Swift语言开发LBS应用 1、下载iOS地图SDK的最新版本 2、申请LBS密钥(见第二部分)。 3、xCode新建工程 新建一个 Single View Application 工程。注意:Language 选择 Swift 4、工程配置 a.引入地图库搜索库 左侧目录中选中工程名...

如何用高德LBS开放平台开发全英文iOS 地图应用

第一步:申请Key,用于搜索SDK。

提示:MapKit是不需要Key的,该key仅用于高德的iOS SDK搜索功能。

第二步:初始化MKMapView ,并添加到Subview。同时,进行定位,设置定位模式,在地图上显示定位点。

注意:

(1)MapKit中的定位(showUserLocation= YES),在回调中获取的坐标不用进行坐标偏转;若使用CLLocationManager方法进行定位,需要进行坐标偏转(参考附加内容)。

(2)MapKit没有申请定位权限,需在代码中申请一下定位权限。

申请方法:在 info.plist中追加NSLocationWhenInUseUsageDescription或NSLocationAlwaysUsageDescription字段。其中:

NSLocationWhenInUseUsageDescription表示应用在前台的时候可以搜到更新的位置信息。

NSLocationAlwaysUsageDescription表示应用在前台和后台(suspend或terminated)都可以获取到更新的位置数据。

代码如下:

//申请定位权限

- (void) initLocation

{

if(nil == _locationManager)

{

_locationManager = [[CLLocationManager alloc] init];

}

if([[[UIDevice currentDevice] systemVersion] floatValue] = 8.0)

{

[_locationManager requestAlwaysAuthorization];

}

}

//初始化MapView

- (void) initMapView{

//构造MKMapView

_mapView = [[MKMapView alloc] initWithFrame:CGRectMake(0, 21, CGRectGetWidth(self.view.bounds), CGRectGetHeight(self.view.bounds))];

_mapView.delegate = self;

_mapView.showsUserLocation = YES;//显示定位图标

[_mapView setUserTrackingMode:MKUserTrackingModeFollow];//设置定位模式

//将mapview添加到Subview中

[self.view addSubview:_mapView];

}

第三步:初始化主搜索对象AMapSearchAPI

构造AMapSearchAPI对象,并设置搜索结果语言。(支持英文结果的搜索功能包括:POI搜索、逆地理编码和地理编码、输入提示,能够满足基本的搜索功能)

//初始化AMapSearchAPI

- (void)initSearch

{

//构造AMapSearchAPI

_search = [[AMapSearchAPI alloc] initWithSearchKey:APIKey Delegate:self];

_search.language = AMapSearchLanguage_en;//设置语言

}

第四步:构造搜索对象,设置搜索参数,发起查询,在相应的回调中进行结果展示(如:POI查询结果以大头针标注等等)。

以Demo中的POI查询为例,以选择的输入提示语为关键字

/* POI 搜索. */

- (void)searchPOIWithKey:(NSString *)key adcode:(NSString *)adcode

{

if (key.length == 0)

{

return;

}

//构造POI搜索对象AMapPlaceSearchRequest

AMapPlaceSearchRequest *place = [[AMapPlaceSearchRequest alloc] init];

//设置关键字、

place.keywords = key;

place.requireExtension = YES;//设置成YES,返回信息详细,较费流量

if (adcode.length 0)

{

place.city = @[adcode];

}

//发起查询

[_search AMapPlaceSearch:place];

}

//回调中显示结果

- (void)onPlaceSearchDone:(AMapPlaceSearchRequest *)request response:(AMapPlaceSearchResponse *)respons

{

if (respons.pois.count == 0)

{

return;

}

NSMutableArray *poiAnnotations = [NSMutableArray arrayWithCapacity:respons.pois.count];

[respons.pois enumerateObjectsUsingBlock:^(AMapPOI *obj, NSUInteger idx, BOOL *stop) {

[poiAnnotations addObject:[[POIAnnotation alloc] initWithPOI:obj]];

}];

/* 将结果以annotation的形式加载到地图上. */

[_mapView addAnnotations:poiAnnotations];

/* 如果只有一个结果,设置其为中心点. */

if (poiAnnotations.count == 1)

{

_mapView.centerCoordinate = [poiAnnotations[0] coordinate];

}

/* 如果有多个结果, 设置地图使所有的annotation都可见. */

else

{

[_mapView showAnnotations:poiAnnotations animated:NO];

}

}


当前题目:ioslbs开发,iosbste
文章URL:http://scyanting.com/article/dsshdgi.html