>首页> IT >

高德lbs开放平台有哪些 高德lbs开放平台

时间:2023-05-29 08:17:58       来源:城市网

今天来聊聊关于高德lbs开放平台有哪些,高德lbs开放平台的文章,现在就为大家来简单介绍下高德lbs开放平台有哪些,高德lbs开放平台,希望对各位小伙伴们有所帮助。

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

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


【资料图】

3、第二步:初始化MKMapView ,并添加到Subview。

4、同时,进行定位,设置定位模式,在地图上显示定位点。

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

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

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

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

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

10、代码如下: //申请定位权限- (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对象,并设置搜索结果语言。

11、(支持英文结果的搜索功能包括:POI搜索、逆地理编码和地理编码、输入提示,能够满足基本的搜索功能)//初始化AMapSearchAPI- (void)initSearch{ //构造AMapSearchAPI _search = [[AMapSearchAPI alloc] initWithSearchKey:APIKey Delegate:self]; _search.language = AMapSearchLanguage_en;//设置语言}第四步:构造搜索对象,设置搜索参数,发起查询,在相应的回调中进行结果展示(如:POI查询结果以大头针标注等等)。

12、以Demo中的POI查询为例,以选择的输入提示语为关键字/* POI 搜索. */- (void)searchPOIWithKey:(NSString *)key adcode:(NSString *)adcode{ if (key.length == 0) { return; }//构造POI搜索对象AMapPlaceSearchRequestAMapPlaceSearchRequest *place = [[AMapPlaceSearchRequest alloc] init];//设置关键字、 place.keywords = key; place.requireExtension = YES;//设置成YES,返回信息详细,较费流量 if (adcode.length > 0) { ***.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]; }}。

相信通过高德lbs开放平台这篇文章能帮到你,在和好朋友分享的时候,也欢迎感兴趣小伙伴们一起来探讨。

本文由用户上传,如有侵权请联系删除!

关键词: