IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 高德地图仿微信发送实时地址(iOS开发小项目) -> 正文阅读

[移动开发]高德地图仿微信发送实时地址(iOS开发小项目)

在这里插入图片描述
Apple:怎么样,大不大?
Android:what are talking about?is very small

哈哈,进归正题
今天讲的是iOS的开发中的一个生活实用技巧,本篇文章没有什么过多文字讲解。代码为主要,希望大家喜欢
first(首先):首先去高德地图官网下载相关的SDK(如下图):
按照高德地图官网的步骤继续添加所需要的依赖库
根据项目的bundleID前往高德地图API中创建引用并申请相关的key
高德地图应用管理后台

代码部分如图下:

#import “AppDelegate.h”
#import “ViewController.h”
#import <AMapLocationKit/AMapLocationKit.h>
#import <AMapFoundationKit/AMapFoundationKit.h>
static NSString *APIKey = @“a1500980e29b7ca7612a46c19e0d2e3a”;
@interface AppDelegate ()
@end
@implementation AppDelegate

  • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    [self.window makeKeyAndVisible];
    self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:[ViewController new]];
    [AMapServices sharedServices].apiKey = APIKey;
    return YES;
    }

定位用户当前位置
在你定位类中导入头文件(这个文件是与地图相关的)
初始化地图view:

  • (void)initMapView{
    self.mapView = [[MAMapView alloc] initWithFrame:CGRectMake(0, 64 + 44, SCREEN_WIDTH, 300)];
    self.mapView.delegate = self;
    self.mapView.mapType = MAMapTypeStandard;
    self.mapView.showsScale = NO;
    self.mapView.showsCompass = NO;
    self.mapView.showsUserLocation = YES;
    [self.view addSubview:self.mapView];
    UIButton *localButton = [UIButton buttonWithType:UIButtonTypeCustom];
    localButton.backgroundColor = [UIColor redColor];
    localButton.frame = CGRectMake(SCREEN_WIDTH - 60, 240, 50, 50);
    [localButton addTarget:self action:@selector(localButtonAction) forControlEvents:UIControlEventTouchUpInside];
    localButton.layer.cornerRadius = 25;
    localButton.clipsToBounds = YES;
    [localButton setImage:[UIImage imageNamed:@“定位”] forState:UIControlStateNormal];
    [self.mapView addSubview:localButton];
    }
    ——————————————
    / 定位SDK

  • (void)configLocationManager {
    self.locationManager = [[AMapLocationManager alloc] init];
    [self.locationManager setDelegate:self];
    [self.locationManager setDesiredAccuracy:kCLLocationAccuracyHundredMeters];
    //单次定位超时时间
    [self.locationManager setLocationTimeout:6];
    [self.locationManager setReGeocodeTimeout:3];
    }
    开启定位实操:
    (void)locateAction {
    [self showHudInView:self.view hint:@“正在定位…”];
    //带逆地理的单次定位
    [self.locationManager requestLocationWithReGeocode:YES completionBlock:^(CLLocation *location, AMapLocationReGeocode *regeocode, NSError *error) {
    if (error) {
    [self showHint:@“定位错误” yOffset:-180];
    NSLog(@“locError:{%ld - %@};”,(long)error.code,error.localizedDescription);
    if (error.code == AMapLocationErrorLocateFailed) {
    return ;
    }
    }
    //定位信息
    NSLog(@“location:%@”, location);
    if (regeocode)
    {
    [self hideHud];
    self.currentLocationCoordinate = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude);
    self.city = regeocode.city;
    [self showMapPoint];
    [self setCenterPoint];
    self.request.location = [AMapGeoPoint locationWithLatitude:location.coordinate.latitude longitude:location.coordinate.longitude];
    [self.mapSearch AMapPOIAroundSearch:self.request];
    }
    }];
    }
    定位完之后检查一下,展示大头针到当前位置,若没有,看下有没有导入高德地图文件资源

  • (void)showMapPoint{
    [_mapView setZoomLevel:15.1 animated:YES];
    [_mapView setCenterCoordinate:self.currentLocationCoordinate animated:YES];
    }

  • (void)setCenterPoint{
    MAPointAnnotation * centerAnnotation = [[MAPointAnnotation alloc] init];//初始化注解对象
    centerAnnotation.coordinate = self.currentLocationCoordinate;//定位经纬度
    centerAnnotation.title = @"";
    centerAnnotation.subtitle = @"";
    [self.mapView addAnnotation:centerAnnotation];//添加注解
    }
    #pragma mark - MAMapView Delegate

  • (MAAnnotationView *)mapView:(MAMapView )mapView
    viewForAnnotation:(id)annotation {
    if ([annotation isKindOfClass:[MAPointAnnotation class]]) {
    static NSString pointReuseIndentifier = @“pointReuseIndentifier”;
    MAPinAnnotationView
    annotationView = (MAPinAnnotationView
    )[mapView dequeueReusableAnnotationViewWithIdentifier:pointReuseIndentifier];
    if (annotationView == nil)
    {
    annotationView = [[MAPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:pointReuseIndentifier];
    }
    annotationView.canShowCallout= YES; //设置气泡可以弹出,默认为NO
    annotationView.animatesDrop = YES; //设置标注动画显示,默认为NO
    annotationView.draggable = YES; //设置标注可以拖动,默认为NO
    annotationView.pinColor = MAPinAnnotationColorRed;
    return annotationView;
    }
    return nil;
    }
    可自定义搜索的内容,定位成功之后用户可以获取到当前的经纬度地址等一系列信息
    祝你们成功操作。需要更多资料点击下方链接
    【腾讯文档】更多资料分享
    https://docs.qq.com/doc/DZXpKSU5LdEdja0hR

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-07-25 11:48:06  更:2021-07-25 11:50:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年3日历 -2024/3/28 17:36:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码