精华内容
下载资源
问答
  • 高德地图sdk
    千次阅读
    2021-12-07 15:55:49

    前言

    关于如何调用高德地图的SDK,项目前需要下载哪些库,还有正式开始写项目前的一些注意事项可见这篇博客【iOS】调用百度、高德地图SDK

    需要用到的库

    PodFile中写入以下:

    platform :ios, '7.0'
    target '你的工程名字' do
    pod 'AMap3DMap' 
    pod 'AMapLocation'
    pod 'AMapSearch'
    end
    
    • AMap3DMap是用来显示地图等有关操作的库
    • AMapLocation是有关定位功能的库
    • AMapSearch是用来搜索位置等功能的库

    显示基础地图

    • 在AppDelegate.m中,先声明好头文件#import <AMapFoundationKit/AMapFoundationKit.h>
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        [AMapServices sharedServices].apiKey = @"你的KEY值";
        return YES;
    }
    
    • ViewController.h中,提前声明好属性,以便使用该属性
    @property (strong, nonatomic) MAMapView* mapView;
    
    • ViewController.m中,以下有关于mapView的一些其他属性设置
    //把地图添加至view
        _mapView = [[MAMapView alloc] initWithFrame:CGRectMake(0, [UIScreen mainScreen].bounds.size.height * 0.12, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height * 0.88)];
        _mapView.showsIndoorMap = YES;    	//设置显示室内地图
        _mapView.zoomLevel = 18;    		//设置缩放比例
        _mapView.zoomEnabled = YES;    		//NO表示禁用缩放手势,YES表示开启
        _mapView.rotateEnabled = NO;    	//NO表示禁用旋转手势,YES表示开启
        _mapView.delegate = self;			//设置代理
        [self.view addSubview:_mapView];
    
    • 此外,如果您需要进入地图就显示定位小蓝点,则需要下面两行代码
    	开启定位
    	//是否显示用户的位置
    	_mapView.showsUserLocation = YES;
        _mapView.userTrackingMode = MAUserTrackingModeFollow;
    

    地图定位

    • 先声明定位的头文件#import <AMapLocationKit/AMapLocationKit.h>,再声明一个属性
    @property (strong, nonatomic) AMapLocationManager* locationManager;
    
    • 自定义一个方法对定位初始化
    //初始化定位
    - (void)initLocation {
     	//持续定位
        self.locationManager = [[AMapLocationManager alloc] init];
        self.locationManager.delegate = self;
        self.locationManager.distanceFilter = 10;
        [self.locationManager setLocatingWithReGeocode:YES];
        //开启持续定位
        [self.locationManager startUpdatingLocation];
    }
    
    • 下面这个是一个回调函数(定位每次改变时都会调用)
    //在回调函数中,获取定位坐标,进行业务处理。
    - (void)mapView:(MAMapView *)mapView didUpdateUserLocation:(MAUserLocation *)userLocation updatingLocation:(BOOL)updatingLocation {
        NSLog(@"location:{纬度:%f; 经度:%f;}", userLocation.coordinate.latitude, userLocation.coordinate.longitude);
    }
    

    位置搜索

    • 当我在输入框里每打出一个字,相关位置信息都会实时更改,并由tableView展示出来
    • 我新创建了一个视图控制器,专门用来呈现搜索的页面
    • 这里用到了新接触的一个控件UISearchController,专门用于搜索的一个控件
    • 在新视图提前声明头文件#import <AMapSearchKit/AMapSearchKit.h>,在.h中用到了如下属性
    #import "ViewController.h"
    #import <AMapSearchKit/AMapSearchKit.h>
    
    NS_ASSUME_NONNULL_BEGIN
    
    @interface SearchViewController : UIViewController <UITextFieldDelegate, UISearchBarDelegate, UISearchResultsUpdating, UISearchControllerDelegate, UITableViewDelegate, UITableViewDataSource, AMapSearchDelegate>
    
    @property (strong, nonatomic) NSString* searchString;
    @property (strong, nonatomic) UISearchController* searchController;
    @property (strong, nonatomic) UITableView* searchTableView;
    @property (strong, nonatomic) NSMutableArray* listArray;
    @property (strong, nonatomic) NSMutableArray* listNameArray;
    @property (strong, nonatomic) AMapSearchAPI* searchAPI;
    
    @end
    
    NS_ASSUME_NONNULL_END
    
    • 定义好searchController的相关属性
    	_searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
        _searchTableView.tableHeaderView = _searchController.searchBar; 	//这句代码意义是将searchController添加在视图上
        _searchController.searchResultsUpdater = self;
        _searchController.searchBar.delegate = self;
        _searchController.searchBar.placeholder = @"搜索";
        _searchController.searchBar.barTintColor = [UIColor colorWithWhite:0.93 alpha:1];
    
    • 搜索框激活时,使用提示搜索
    //搜索框激活时,使用提示搜索
    - (void)updateSearchResultsForSearchController:(UISearchController *)searchController {
        //发起输入提示搜索
        AMapInputTipsSearchRequest *tipsRequest = [[AMapInputTipsSearchRequest alloc] init];
        //关键字
        tipsRequest.keywords = _searchController.searchBar.text;
        //城市
        tipsRequest.city = @"西安";
        //执行搜索
        [_searchAPI AMapInputTipsSearch: tipsRequest];
    }
    
    • 实现输入提示的回调函数
    //实现输入提示的回调函数
    - (void)onInputTipsSearchDone:(AMapInputTipsSearchRequest*)request response:(AMapInputTipsSearchResponse *)response {
        if(response.tips.count == 0) {
            return;
        }
        //通过AMapInputTipsSearchResponse对象处理搜索结果
        //先清空数组
        [_listArray removeAllObjects];
        [_listNameArray removeAllObjects];
        for (AMapTip *obj in response.tips) {
            //把搜索结果存在数组
            [_listArray addObject:obj];
            [_listNameArray addObject:obj.name];
        }
        //_isSelected = NO;
        //刷新表视图
        [_searchTableView reloadData];
    }
    
    • 在刷新tableView后就可以将搜索出来的相关位置展示出来了
    • 之后在点击cell后退出当前视图,并将点击的位置的相关信息通过通知传值传入到地图界面,并进行路线规划

    请添加图片描述

    路线规划

    • 先明确起始位置和终止位置,起始位置就是自己当前的位置,终止位置就是刚才通知传值传过来的位置。
    //路径规划
    - (void)pathPlan {
        AMapWalkingRouteSearchRequest *navi = [[AMapWalkingRouteSearchRequest alloc] init];
        /* 出发点. */
        navi.origin = [AMapGeoPoint locationWithLatitude:_mapView.userLocation.coordinate.latitude longitude:_mapView.userLocation.coordinate.longitude];
        /* 目的地. */
        navi.destination = [AMapGeoPoint locationWithLatitude:_tipTemp.location.latitude longitude:_tipTemp.location.longitude];
        //发起路线规划
        [_searchAPI AMapWalkingRouteSearch:navi];
    }
    
    • 然后实现路径搜索的回调函数
    //实现路径搜索的回调函数
    - (void)onRouteSearchDone:(AMapRouteSearchBaseRequest *)request response:(AMapRouteSearchResponse *)response {
        if (response.route == nil) {
            return;
        }
        //通过AMapNavigationSearchResponse对象处理搜索结果
        NSString *route = [NSString stringWithFormat:@"Navi: %@", response.route];
        NSLog(@"%@", route);
        AMapPath *path = response.route.paths[0]; //选择一条路径
        AMapStep *step = path.steps[0]; //这个路径上的导航路段数组
        NSLog(@"%@",step.polyline);   //此路段坐标点字符串
        NSLog(@"%@",response.route.paths[0]);
        
        if (response.count > 0) {
            //移除地图原本的遮盖
            [_mapView removeOverlays:_pathPolylines];
            _pathPolylines = nil;
     
            // 只显示第⼀条 规划的路径
            _pathPolylines = [self polylinesForPath:response.route.paths[0]];
            NSLog(@"%@",response.route.paths[0]);
            //添加新的遮盖,然后会触发代理方法进行绘制
            [_mapView addOverlays:_pathPolylines];
        }
    }
    
    • 绘制遮盖时执行的代理方法
    //绘制遮盖时执行的代理方法
    - (MAOverlayRenderer *)mapView:(MAMapView *)mapView rendererForOverlay:(id <MAOverlay>)overlay {
        /* 自定义定位精度对应的MACircleView. */
     
        //画路线
        if ([overlay isKindOfClass:[MAPolyline class]]) {
           //初始化一个路线类型的view
            MAPolylineRenderer *polygonView = [[MAPolylineRenderer alloc] initWithPolyline:overlay];
            //设置线宽颜色等
            polygonView.lineWidth = 8.f;
            polygonView.strokeColor = [UIColor colorWithRed:0.015 green:0.658 blue:0.986 alpha:1.000];
            polygonView.fillColor = [UIColor colorWithRed:0.940 green:0.771 blue:0.143 alpha:0.800];
            polygonView.lineJoinType = kMALineJoinRound;//连接类型
            //返回view,就进行了添加
            return polygonView;
        }
        return nil;
    }
    
    • 路线解析
    //路线解析
    - (NSArray *)polylinesForPath:(AMapPath *)path {
        if (path == nil || path.steps.count == 0) {
            return nil;
        }
        NSMutableArray *polylines = [NSMutableArray array];
        [path.steps enumerateObjectsUsingBlock:^(AMapStep *step, NSUInteger idx, BOOL *stop) {
            NSUInteger count = 0;
            CLLocationCoordinate2D *coordinates = [self coordinatesForString:step.polyline
                                                             coordinateCount:&count
                                                                  parseToken:@";"];
            MAPolyline *polyline = [MAPolyline polylineWithCoordinates:coordinates count:count];
            [polylines addObject:polyline];
            (void)((free(coordinates))), coordinates = NULL;
        }];
        return polylines;
    }
    
    • 解析经纬度
    - (CLLocationCoordinate2D *)coordinatesForString:(NSString *)string
                                coordinateCount:(NSUInteger *)coordinateCount
                                    parseToken:(NSString *)token {
        if (string == nil) {
            return NULL;
        }
        if (token == nil) {
            token = @",";
        }
        NSString *str = @"";
        if (![token isEqualToString:@","]) {
            str = [string stringByReplacingOccurrencesOfString:token withString:@","];
        }
        else {
            str = [NSString stringWithString:string];
        }
        NSArray *components = [str componentsSeparatedByString:@","];
        NSUInteger count = [components count] / 2;
        if (coordinateCount != NULL) {
            *coordinateCount = count;
        }
        CLLocationCoordinate2D *coordinates = (CLLocationCoordinate2D*)malloc(count * sizeof(CLLocationCoordinate2D));
        
        for (int i = 0; i < count; i++) {
            coordinates[i].longitude = [[components objectAtIndex:2 * i] doubleValue];
            coordinates[i].latitude  = [[components objectAtIndex:2 * i + 1] doubleValue];
        }
        return coordinates;
    }
    

    效果如下:
    请添加图片描述

    更多相关内容
  • 微信小程序 高德地图SDK: 简介 微信小程序 SDK 帮您在微信小程序中获取高德丰富的地址描述、POI和实时天气数据。 功能介绍 账号与Key的申请 注册成为高德开发者需要分三步: 第一步,注册高德...
  • Unity3D高德地图SDK演示apk
  • 高德地图SDK(2D)

    2016-06-05 16:11:08
    高德地图SDK,地图是2D地图。
  • 二:下载定位SDK,下载下来有地图SDK和定位SDK,然后导入项目,导入再Add As Library,so文件按自己需求来 下载地址:http://lbs.amap.com/api/android-location-sdk/download/ 三:在AndroidManifest.
  • Android接入高德地图SDK 一引入高德sdk

    千次阅读 2022-02-12 00:01:35
    将下载的地图 SDK 的 jar包复制到工程(此处截图以官方示例Demo为例子)的 libs 目录下 添加 so 库: 在 main 目录下创建文件夹 jniLibs (如果有就不需要创建了),将下载文件的 armeabi 文件夹复制到这个目录下,...

    SHA1的获取:

    在这里插入图片描述
    然后输入cd .android 回车

    在输入:keytool -list -v -keystore debug.keystore 在回车,密钥默认 android
    在这里插入图片描述

    添加 jar 文件

    将下载的地图 SDK 的 jar包复制到工程(此处截图以官方示例Demo为例子)的 libs 目录下
    在这里插入图片描述

    添加 so 库:

    在 main 目录下创建文件夹 jniLibs (如果有就不需要创建了),将下载文件的 armeabi 文件夹复制到这个目录下,如果已经有这个目录,将下载的 so 库复制到这个目录即可(使用默认配置,不需要修改build.gradle)
    在这里插入图片描述

    引入SDK

    主工程的build.gradle文件的defaultConfig中加入
    ndk {
    //设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
    abiFilters “armeabi”, “armeabi-v7a”, “arm64-v8a”, “x86”,“x86_64”
    }
    主工程的build.gradle文件的dependencies 中加入
    implementation fileTree(dir: ‘libs’, include: [‘AMap3DMap_9.0.0_AMapSearch_8.1.0_AMapTrack_1.4.1_AMapLocation_5.6.2_20220113.jar’])

    plugins {
        id 'com.android.application'
    }
    
    android {
        compileSdk 32
    
        defaultConfig {
            applicationId "com.example.myapplication"
            minSdk 21
            targetSdk 23
            versionCode 1
            versionName "1.0"
    
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
            ndk {
                //设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
                abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64"
            }
        }
    
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }
    
    dependencies {
    
        implementation 'androidx.appcompat:appcompat:1.2.0'
        implementation 'com.google.android.material:material:1.3.0'
        implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
        testImplementation 'junit:junit:4.+'
        androidTestImplementation 'androidx.test.ext:junit:1.1.2'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    
        implementation fileTree(dir: 'libs', include: ['AMap3DMap_9.0.0_AMapSearch_8.1.0_AMapTrack_1.4.1_AMapLocation_5.6.2_20220113.jar'])
    }
    

    点击sync now
    在这里插入图片描述

    配置AndroidManifest.xml

    <!--允许访问网络,必选权限-->
    <uses-permission android:name="android.permission.INTERNET" />  
    
    <!--允许获取粗略位置,若用GPS实现定位小蓝点功能则必选-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    
    <!--允许获取设备和运营商信息,用于问题排查和网络定位,若无gps但仍需实现定位小蓝点功能则此权限必选-->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />    
    
    <!--允许获取网络状态,用于网络定位,若无gps但仍需实现定位小蓝点功能则此权限必选-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    
    
    <!--允许获取wifi网络信息,用于网络定位,若无gps但仍需实现定位小蓝点功能则此权限必选-->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    
    <!--允许获取wifi状态改变,用于网络定位,若无gps但仍需实现定位小蓝点功能则此权限必选-->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
    
    <!--允许写入扩展存储,用于数据缓存,若无此权限则写到私有目录-->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    
    <!--允许写设备缓存,用于问题排查-->
    <uses-permission android:name="android.permission.WRITE_SETTINGSS" />  
    
    <!--允许读设备等信息,用于问题排查-->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    

    设置高德Key

    在application标签中加入如下内容:

    <meta-data android:name="com.amap.api.v2.apikey" android:value="key">
    //开发者申请的key  
    </meta-data>
    

    初始化地图容器

    首先在布局xml文件中添加地图控件:

    <com.amap.api.maps.MapView
    
        android:id="@+id/map"
    
        android:layout_width="match_parent"
    
        android:layout_height="match_parent"/>
    

    MainActivity中代码:

    public class MainActivity extends Activity {
      MapView mMapView = null;
      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main);
        //获取地图控件引用
        mMapView = (MapView) findViewById(R.id.map);
        //在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),创建地图
        mMapView.onCreate(savedInstanceState);
      }
      @Override
      protected void onDestroy() {
        super.onDestroy();
        //在activity执行onDestroy时执行mMapView.onDestroy(),销毁地图
        mMapView.onDestroy();
      }
     @Override
     protected void onResume() {
        super.onResume();
        //在activity执行onResume时执行mMapView.onResume (),重新绘制加载地图
        mMapView.onResume();
        }
     @Override
     protected void onPause() {
        super.onPause();
        //在activity执行onPause时执行mMapView.onPause (),暂停地图的绘制
        mMapView.onPause();
        }
     @Override
     protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        //在activity执行onSaveInstanceState时执行mMapView.onSaveInstanceState (outState),保存地图当前的状态
        mMapView.onSaveInstanceState(outState);
      } 
    }
    

    显示地图

    在 MapView 对象初始化完毕之后,构造 AMap 对象。示例代码如下:

    //定义了一个地图view
    mapView = (MapView) findViewById(R.id.map);
    mapView.onCreate(savedInstanceState);// 此方法须覆写,虚拟机需要在很多情况下保存地图绘制的当前状态。
    //初始化地图控制器对象
    AMap aMap;
    if (aMap == null) {
        aMap = mapView.getMap();        
    }
    
    展开全文
  • Unity3D 集成 高德地图SDK 地图-附件资源
  • 高德地图SDKdemo

    2015-11-03 17:36:16
    高德地图SDKdemo,集合常用定位,导航功能
  • iOS——调用高德地图SDK

    千次阅读 2021-12-12 17:17:29
    小组的项目计划也有地图部分,这里记录一下调用高德地图sdk的过程。 官方指南 通过CocoaPods安装SDK 创建项目,获取 CocoaPods后,我们就可以通过CocoaPods安装SDK了。 Podfile文件内容: platform :ios, '14.0' //...

    当今的app中,地图随处可见。不管是美团、饿了吗的骑手位置,还是共享单车的扫车、还车,都少不了地图的使用。小组的项目计划也有地图部分,这里记录一下调用高德地图sdk的过程。
    官方指南

    通过CocoaPods安装SDK

    创建项目,获取 CocoaPods后,我们就可以通过CocoaPods安装SDK了。

    Podfile文件内容:

    platform :ios, '14.0'    //设备的iOS系统
    
    target 'MapTest' do    //项目名
    
    pod 'AMap2DMap'    //可选2D或3D地图
    pod 'AMapSearch'    //搜索功能
    
    end
    

    获取高德地图key

    高德开放平台
    在高德开放平台注册登录,然后在控制台中进入我的应用,创建新应用,然后为应用添加key。请添加图片描述

    注意,这里的安全码Bundle ID,就是我们项目中的Bundle Identfier。
    请添加图片描述

    完成之后,我们就有属于我们项目的key了。

    添加Info.plist权限

    使用高德地图SDK,我们首先需要在Info.plist添加我们需要的权限。
    请添加图片描述

    配置高德Key至AppDelegate.m文件

    将获取的key配置到代码中。

    #import <AMapFoundationKit/AMapFoundationKit.h>
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {  
        [AMapServices sharedServices].apiKey = @"你的Key";
         
        ……
    }
    

    加载地图

    #import <MAMapKit/MAMapKit.h>
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    	//初始化地图
    	MAMapView *_mapView = [[MAMapView alloc] initWithFrame:self.view.bounds];
        
    	//把地图添加至view
        [self.view addSubview:_mapView];
    	
    	……
    }
    

    然后,就可以在真机中调试我们的项目了,调试方法参考Xcode——无证书真机调试

    展开全文
  • iOS调用高德地图SDK

    千次阅读 2021-11-26 18:41:18
    准备工作: 安装CocoaPods ...其中3D的是3D地图,2D的是2D地图,选择其一添加即可,若全选的话会发生冲突致使SDK安装失败 (4)输入pod install下载SDK(若下载的SDK不是最新版可输入pod repo update进行更新)

    准备工作:

    1. 安装CocoaPods
    2. 使用下载第三方库相同的方法下载SDK
      方法如下:
      (1)打开终端,cd 文件路径 进入到所创建的项目文件中
      (2)输入pod init为该项目创建Podfile文件
      (3)在Podfile文件中添加pod 'AMap3DMap'pod 'AMap2DMap'
      其中3D的是3D地图,2D的是2D地图,选择其一添加即可,若全选的话会发生冲突致使SDK安装失败
      (4)输入pod install下载SDK(若下载的SDK不是最新版可输入pod repo update进行更新
    3. 下载完成后即可点击.xcworkspace文件进入项目编写代码了
    4. 另外需要注册成为高德地图的个人开发者并前往“高德开放平台控制台”申请 iOS Key。该iOS key在实际的项目编写中需要用到
      其中申请key的方法如下:
      登录或注册

    1、如果您还未注册过,请点击此处完成注册。

    2、如果您已经注册过,请登录后在申请key,申请与注册的入口如下:
    请添加图片描述
    创建应用

    进入“控制台—应用管理—创建新应用”,点此进入。
    请添加图片描述
    申请为该应用添加key

    1、点击左侧“+”新增Key。
    请添加图片描述
    2、填写必要字段,此时需要选择正确的key类型。
    请添加图片描述
    在上图中选择iOS平台,选择后还需要填写安全码Bundle ID: ,该安全码的获取如下图:
    请添加图片描述
    将一切填好后就可以获取到我们需要的key了

    接下来就进入到项目内部的设置了:

    1. iOS9为了增强数据访问安全,将所有的http请求都改为了https,为了能够在iOS9中正常使用地图SDK,需要在"Info.plist"中进行如下配置,否则影响SDK的使用,(见下图):
      在这里插入图片描述
      我们需要在App Transport Security Settings下创建Allow Aebitrary Loads,并将其Type为Boolean类型的Value设置为YES;如本身就没有App Transport Security Settings的话则需要创建一个

    2.配置高德key到AppDelegate.m文件:

    #import <AMapFoundationKit/AMapFoundationKit.h>
    //需要引入AMapFoundationKit.h头文件
    ……
    
     (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
    	//将下方 您的Key 部分修改为刚才所获取到的key就行;
        [AMapServices sharedServices].apiKey = @"您的Key";
         
        ……
    }
    
    1. 加载地图的方法:
      在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];
    }
    

    重要的点:

    我们在实现了以上操作之后,是仍然无法成功加载出地图的,此时运行会提示高德地图SDK隐私合规相关的问题,这是由于法律法规对于APP所要求的内容,必须要通过这个检测,否则就无法显示地图视图,不过不用慌,看下面:

    在构造MAMapView(MAOfflineMap,MAOfflineMapViewController,MATraceManager等)之前必须进行合规检查,设置接口之前保证隐私政策合规,检查接口如下:

    [MAMapView updatePrivacyShow:AMapPrivacyShowStatusDidShow privacyInfo:AMapPrivacyInfoStatusDidContain];
    [MAMapView updatePrivacyAgree:AMapPrivacyAgreeStatusDidAgree];
    

    将上述两行接口代码添加到加载地图视图的代码之前即可成功加载地图的视图。

    即就是把ViewController.m中的代码写成如下形式:

    #import <MAMapKit/MAMapKit.h>
    
    -(void) viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
    
    	//添加隐私合规接口代码
    	[MAMapView updatePrivacyShow:AMapPrivacyShowStatusDidShow privacyInfo:AMapPrivacyInfoStatusDidContain];
    	[MAMapView updatePrivacyAgree:AMapPrivacyAgreeStatusDidAgree];
    
    	///初始化地图
    	MAMapView *_mapView = [[MAMapView alloc] initWithFrame:self.view.bounds];
        
    	///把地图添加至view
        [self.view addSubview:_mapView];
    }
    

    此时,我们的全部流程就结束了,实际的运行结果如下:
    请添加图片描述
    可以看到地图视图已经显示在我们的手机上了。

    展开全文
  • 1、PackageName: 项目的包名, 在build.gradle中 如: 2、 获取SHA1安全码: 安卓默认在 目录 C:\Users\Administrator.android 中 cmd输入: C:\Users\Administrator>keytool -v -list -keystore C:\Users\...
  • uniapp 打包app 引入高德地图sdk

    千次阅读 2022-03-08 15:06:16
    uniapp开发app引入高德地图sdk 说明:本项目以uniapp 云打包app Android为例,使用自有证书 注册高德地图开放平台账号并添加应用,在应用中添加key(SHA1和PackageName下面说明) 生成自有证书(windows系统) ...
  • [iOS开发]高德地图SDK

    2021-12-01 16:24:22
    最近学习了一下高德地图SDK的使用,搜索,路线规划等,下面进行一个小总结
  • uniapp 小程序用高德地图sdk

    千次阅读 2021-12-06 16:30:30
    uniapp 小程序 使用高德sdk
  • iOS—— 调用高德地图SDK

    千次阅读 2021-12-05 17:12:50
    iOS—— 调用高德地图SDK 我们在许多App中可以发现关于地图的调用以及定位等等功能都是什么重要的,比如滴滴打车,美团外卖等等都是十分依赖于地图的。所以我们就应该学会如和去调用地图。本周我就学习了一下如何去...
  • Xamarin.Forms Android 高德演示https://www.zhihu.com/video/1243224001301958656介绍本编文章分为2节,第1节是介绍高德地图SDK与Nuget相关的资料,第2节是介绍客户端代码...Part 1 高德地图SDK与Nuget相关的资...
  • Js 高德地图SDK

    2021-04-16 00:22:12
    我这里使用webpack作为演示,官网链接 : https://lbs.amap.com/api/javascript-api/guide/abc/load 当然,我这里使用的是在js文件中创建一个srcipt脚本连接然后加载到文档中,你可以直接使用官网的方式,... ...<!... ... .
  • TnboysMap基于高德地图sdk实现的Android地图导航app,主要包括定位、POI搜索、多种交通方式路径规划以及导航等功能,其中导航功能的语音部分基于科大讯飞sdk。应用界面设计参考了现有的Android地图app,其中icon图片...
  • 今天和大家分享一下如果在Android开发中引用高德地图SDK以及实现定位,搜索,导航的功能 =-= 第一步:引入高德地图SDK。 首先,进入高德地图开发平台,鼠标移至头像处,点击我的应用,然后新建一个应用 ...
  • 【iOS】—— 高德地图SDK基础使用

    千次阅读 2021-12-09 19:07:48
    具体的准备工作高德的SDK的入门指南上将步骤都一一给出了,具体看看:iOS 高德地图-SDK 下面那我就大概说说步骤: 1.获取最新版的XCode Xcode版本至少在8.0之上。 2.获取CocoaPods 有这个环境的就可以不用管,没有的...
  • 组件化构思文档 高德开放平台介绍 为什么要做自动化 怎么做 自动化
  • 高德地图sdk设置marker并且将设置为地图中心,直接在官方demo里改,授权key需要改为自己的。
  • [](()1,配置AndroidManifest.xml (1)使用地图SDK之前,需要在 AndroidManifest.xml 文件中对权限进行设置。 代码: **《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》开源** (2)...
  • flutter配置高德地图SDK

    2020-12-20 04:40:04
    在项目目录 android/app目录下build.gradle 文件内添加如下代码android {defaultConfig {manifestPlaceholders = [LOCATION_APP_KEY : "0e8507757da9b56d5d905edce9ccf2c0", /// 高德地图key]}dependencies {//这里...
  • 【iOS】调用百度、高德地图SDK

    千次阅读 2021-12-02 21:09:00
    文章目录调用百度地图SDK调用高德地图SDK 调用百度地图SDK 先去百度地图开放平台登陆账号,如果没有注册过需要先注册一个账号。然后进入控制台,选择我的应用,进行创建应用。 其中安全码Bundle Identifier在自己...
  • 遇到的问题高德地图sdk配置的时候需要导入so文件,由于导入的时候一直没有导入成功,所以一直报No implementation found for long com.autonavi.amap.mapcore.MapCore错误,后面google一下,成功解决了这个问题项目...
  • 高德地图SDK未设置隐私合规而导致地图不显示的解决办法 问题描述 最近在做毕业设计时,遇到了调试时能运行但无法显示地图的问题。 打开logcat,能够看到问题的描述: 问题解决 带着问题,我们打开了高德地图SDK...
  • 高德地图SDK未设置隐私合规而导致地图不显示的问题
  • packagecom.example.a11699.sdsyu.activities;importandroid.provider.ContactsContract;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.util.Log;importcom.amap.api.loca...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,223
精华内容 2,889
关键字:

高德地图sdk