美文网首页
iOS集成高德地图

iOS集成高德地图

作者: 杨闯 | 来源:发表于2020-03-01 20:33 被阅读0次

在进行iOS客户端开发的过程中,可能会用到高德地图的相关功能,下面我将对我所知道的功能进行描述。

发送当前地理位置

这时我推荐你使用SDK中的MAMapView,在这里如果你要添加标注图像,可以直接通过MAUserLocationRepresentation进行显示在当前位置。

如果你想更换为最近的位置,地图显示详见下边的 放大显示地图或手动选择地址,如果想要搜索最近的位置描述,推荐你分成两步:
一、使用AMapLocationManager获取当前地理位置

self.locationManager = [[AMapLocationManager alloc] init];
// 带逆地理信息的一次定位(返回坐标和地址信息)
[self.locationManager setDesiredAccuracy:kCLLocationAccuracyHundredMeters];
//   定位超时时间,最低2s,此处设置为2s
self.locationManager.locationTimeout =2;
//   逆地理请求超时时间,最低2s,此处设置为2s
self.locationManager.reGeocodeTimeout = 2;
__weak typeof(self) ws = self;
[self.locationManager requestLocationWithReGeocode:YES completionBlock:^(CLLocation *location, AMapLocationReGeocode *regeocode, NSError *error) {
        if (error)
        {
            NSLog(@"locError:{%ld - %@};", (long)error.code, error.localizedDescription);
            if (error.code == AMapLocationErrorLocateFailed)
            {
                return;
            }
            return;
        }
        //经纬度为location.coordinate
 }];

二、拿着获取到的经纬度进行搜索

ws.search = [[AMapSearchAPI alloc] init];
AMapPOIAroundSearchRequest *request=[[AMapPOIAroundSearchRequest alloc] init];
ws.search.delegate = self;
request.location=[AMapGeoPoint locationWithLatitude:location.coordinate.latitude
                                          longitude:location.coordinate.longitude];
[ws.search AMapPOIAroundSearch:request];

然后通过下面的代理方法获取到搜索结果

-(void)onPOISearchDone:(AMapPOISearchBaseRequest *)request 
              response:(AMapPOISearchResponse *)response

cell显示地图

因为cell的重用性,不推荐使用原生的地图显示,所以这里推荐你使用高德地图的静态地图功能,具体描述可详见 https://lbs.amap.com/api/webservice/guide/api/staticmaps/

放大显示地图或手动选择地址

方法显示地图的时候一般属于浏览模式,需要指定坐标显示标注,如果手动选择地址的话,也需要通过坐标显示标注
那么对于需要指定坐标显示标注的时候,需要通过MAMapView显示地图,然后通过下面方式指定需要添加的标注位置:

    CLLocationCoordinate2D location1;
    location1.latitude = self.latitude;
    location1.longitude = self.longitude;
    self.mapView.centerCoordinate = location1;

然后通过如下的代理方法指定标注的相关信息

- (MAAnnotationView *)mapView:(MAMapView *)mapView 
            viewForAnnotation:(id<MAAnnotation>)annotation;

相关文章

  • iOS 高德地图的使用

    iOS:高德地图的使用 本人花了点时间集成了高德地图的几乎所有的功能,包含:地图的显示、地图的绘制、地图的定位、地...

  • 安卓run keystore缺失问题

    前段时间集成高德地图需求,网上有位大神根据uikitview和PlatformView原理开发了高德插件,ios安...

  • 地图集成调研

    地图集成调研 主要地图API有百度地图、高德地图、腾讯地图、搜狗地图(android、IOS暂不开放)。 百度地图...

  • 集成iOS高德地图

    一、前奏 这里只是个人集成过程中的遇到的点,现做下标记。 1,如果你需要集成涉及国外版地图,基于HTTPS的最新版...

  • iOS集成高德地图

    在进行iOS客户端开发的过程中,可能会用到高德地图的相关功能,下面我将对我所知道的功能进行描述。 发送当前地理位置...

  • iOS 集成高德地图

    参考文档:iOS 跳转方式实现地图导航功能 应用内导航 是指使用地图服务提供的SDK(比如高德,百度等等),直接将...

  • flutter 高德地图SDK 接入

    本篇为flutter 项目集成高德地图flutter插件,话不多说,直接上代码 iOS 端 创建账号 创建高德账号...

  • hbuilder ios 离线打包框架(适配iphonex)集成

    hbuilder ios 离线打包框架(适配iphonex)集成高德地图总结: 1.目前hbuilder内置的是百...

  • 高德地图添加大头针和周边搜索

    1.集成高德地图: 在高德官网导入sdk,初始化地图 -(void)initMapView { ///地图需要...

  • iOS 高德地图 仿大众点评 区域内搜索

    仿大众点评 区域内搜索 1 申请KEY(1)到高德开放平台-我的应用申请iOS key; 2.集成高德地图SDK(...

网友评论

      本文标题:iOS集成高德地图

      本文链接:https://www.haomeiwen.com/subject/ncpkkhtx.html