美文网首页
ios ~ 高德地图:使用方法及示例

ios ~ 高德地图:使用方法及示例

作者: 阳光下的叶子呵 | 来源:发表于2022-08-31 10:27 被阅读0次

相关文档【高德地图官方文档】:
1、iOS 地图SDK
2、iOS 定位SDK
3、基础SDK介绍
4、提交AppStore必读(用不用 广告符IDFA
5、权限配置
6、绘制点标记(自带大头针样式,可自定义图标、标记)
7、绘制面:图片覆盖物(图片覆盖物类为 MAGroundOverlay)、绘制圆、绘制热力图、绘制overlay(自定义图层)
(覆盖图片类、多边形、贝塞尔曲线、标记)

8、示例:iOS 高德地图点平滑移动-暂停-再移动

  • 一、使用方法:

CocoaPods导入:
在Podfile文件中写入:

# 高德地图:(功能:地图(分2D、3D)、定位、搜索)
  #pod 'AMap3DMap'
  #pod 'AMapSearch'  
  #pod 'AMapLocation' # 包含IDFA版的定位 SDK

  pod 'AMap3DMap-NO-IDFA'    # 无IDFA版
  pod 'AMapLocation-NO-IDFA' # 无IDFA版定位 SDK
  pod 'AMapSearch-NO-IDFA'   # 无IDFA版
地图导入头文件:
// 将上面步骤获取的高德Key,配置到代码中,以保证地图功能的正常运行。
//需要引入AMapFoundationKit.h头文件()
#import <AMapFoundationKit/AMapFoundationKit.h>
// 加载3D矢量地图,初始化:
#import <MAMapKit/MAMapKit.h> 
// 实现持续定位:
#import <AMapLocationKit/AMapLocationKit.h>

[Objective-C]:

1.配置Info.plist 文件

由于需要申请定位权限,在 Info.plist 中加入 NSLocationAlwaysUsageDescription 字段。

2.配置高德Key至AppDelegate.m文件

将上面步骤获取的高德Key,配置到代码中,以保证定位功能的正常运行。代码如下

#import <AMapFoundationKit/AMapFoundationKit.h>
//需要引入AMapFoundationKit.h头文件
.......
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{  
    [AMapServices sharedServices].apiKey = @"您的Key";
    .......
}

3.加载地图

在ViewController.m文件相应的方法中进行地图初始化,初始化的步骤:

  1. import MAMapKit.h 头文件;
  2. 构造MAMapView对象;
  3. 将MAMapView添加到Subview中。

对于3D矢量地图,在 viewDidLoad 方法中添加代码:

#import <MAMapKit/MAMapKit.h>

-(void) viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

///初始化地图
MAMapView *_mapView = [[MAMapView alloc] initWithFrame:self.view.bounds];

///把地图添加至view
    [self.view addSubview:_mapView];
}

4.实现持续定位

代码如下:

#import <AMapLocationKit/AMapLocationKit.h>
//初始化AMapLocationManager对象,设置代理。

- (void)viewDidLoad
{
    self.locationManager = [[AMapLocationManager alloc] init];
    self.locationManager.delegate = self;
}

//调用AMapLocationManager提供的startUpdatingLocation方法开启持续定位。

[self.locationManager startUpdatingLocation];

//接收位置更新,实现AMapLocationManagerDelegate代理的amapLocationManager:didUpdateLocation方法,处理位置更新

- (void)amapLocationManager:(AMapLocationManager *)manager didUpdateLocation:(CLLocation *)location reGeocode:(AMapLocationReGeocode *)reGeocode
{
    NSLog(@"location:{lat:%f; lon:%f; accuracy:%f}", location.coordinate.latitude, location.coordinate.longitude, location.horizontalAccuracy);
    if (regeocode)
      {
          NSLog(@"reGeocode:%@", regeocode);
      }
}

  • 一些问题及解决方法:

问题:

(1)、关于高德地图自定义标注的气泡时,不能响应单击事件吗?
解决办法:

// 在CustomAnnotationView.m中重写hittest方法:(这里的self.calloutView.navBtn 就是你需要点击的按钮)
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
    UIView *view = [super hitTest:point withEvent:event];
    if (view == nil) {
        CGPoint tempoint = [self.calloutView.navBtn convertPoint:point fromView:self];
        if (CGRectContainsPoint(self.calloutView.navBtn.bounds, tempoint)) {
            view = self.calloutView.navBtn;
        }
    }
    return view;
}
  • 二、示例:

图片覆盖物:【气温】、【降水】
点平滑移动:【台风】
点标注+气泡标注:【自定义气泡标注】
图片覆盖物,使用NSTimer,时间轴(时间刻度)循环更改图片覆盖物,原理:删除,置为nil,在重新创建

if (self.groundOverlay != nil) {
      [self.mapView removeOverlay:self.groundOverlay]; // 点击台风的时候,删掉覆盖物层,在需要的时候重新创建
      self.groundOverlay = nil;
}

相关文章

  • ios ~ 高德地图:使用方法及示例

    相关文档【高德地图官方文档】:1、iOS 地图SDK[https://lbs.amap.com/api/ios-s...

  • iOS ~ 高德地图:1、示例:

    【iOS~ 高德地图:2、示例:台风运行轨迹 + 自定义气泡标注:】[https://www.jianshu.co...

  • 高德地图导航使用指南

    高德地图是我们常用的导航地图之一,其强大性就不说了,直接开始主题,高德地图导航功能的使用方法。 概览 高德地图导航...

  • iOS 高德地图开发详解

    iOS 高德地图开发详解

  • iOS 使用高德地图正确姿势(三)

    iOS 使用高德地图正确姿势(一)iOS 使用高德地图正确姿势(二) 实现大头针始终在地图中心,拖动地图实时poi...

  • RN-地图导航

    调起百度网页地图路径导航 调起高德网页地图路径导航 iOS调起百度APP地图路径导航 iOS调起高德app地图路径...

  • Swift 回放高德地图运动轨迹

    高德地图跑步轨迹展示的代码在高德官方的3D地图示例中RunningLineViewController类中已经有很...

  • iOS 高德地图 自定义地图样式

    iOS 高德地图 自定义地图样式 1.创建高德地图账号,创建应用高德地图开放平台的开发者在取得开发者账号后,可以进...

  • iOS 高德地图的使用

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

  • 高德地图使用小结

    前言 高德地图的api使用方法和百度地图差不多,照着Demo写也并不难,前段时间做的高德地图如今已经忘的差不多了,...

网友评论

      本文标题:ios ~ 高德地图:使用方法及示例

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