首先下载Android地图SDK http://lbs.amap.com/api/android-sdk/down/
然后把压缩包中的.jar文件copy至libs文件夹,鼠标移至.jar文件,右键,点击Add As Library
把armeabi文件夹copy至jniLibs,在main里面,和java一层
在清单文件中添加以下权限,和你在高德申请的Key,还有一个service

//权限<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /><uses-permission android:name="android.permission.WAKE_LOCK" /><application
        android:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/AppTheme">//写key<meta-data
            android:name="com.amap.api.v2.apikey"android:value="自己的key"/><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>//注册服务<service android:name="com.amap.api.location.APSService"></service></application>

在xml布局中添加MapView

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

最后写MainActivity方法

public class MainActivity extends AppCompatActivity implements LocationSource,AMapLocationListener{private MapView mMapView;//显示地图的视图private AMap aMap;//定义AMap 地图对象的操作方法与接口。private OnLocationChangedListener mListener;//位置发生变化时的监听private AMapLocationClient mapLocationClient;//定位服务类。此类提供单次定位、持续定位、地理围栏、最后位置相关功能。private AMapLocationClientOption mapLocationClientOption;//定位参数设置,通过这个类可以对定位的相关参数进行设置//在AMapLocationClient进行定位时需要这些参数@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mMapView = (MapView) findViewById(R.id.mapview);mMapView.onCreate(savedInstanceState);//必须调用init();}//实例化Amap对象public void init() {if (aMap == null) {aMap = mMapView.getMap();setConfigrationAmap();}}//配置Amap对象public void setConfigrationAmap() {aMap.setLocationSource(MainActivity.this);//设置定位监听aMap.setMyLocationEnabled(true);//设置显示定位层,并可以出发定位aMap.getUiSettings().setMyLocationButtonEnabled(true);//设置显示定位按  钮aMap.setMyLocationType(AMap.LOCATION_TYPE_LOCATE);//设置定位类型}// 必须重写@Overridepublic void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {super.onSaveInstanceState(outState, outPersistentState);mMapView.onSaveInstanceState(outState);}// 必须重写@Overrideprotected void onResume() {super.onResume();mMapView.onResume();}// 必须重写@Overrideprotected void onPause() {super.onPause();mMapView.onPause();deactivate();}// 必须重写@Overrideprotected void onDestroy() {super.onDestroy();mMapView.onDestroy();if(mapLocationClient!=null){mapLocationClient.onDestroy();}}//激活定位@Overridepublic void activate(OnLocationChangedListener onLocationChangedListener) {  System.out.println("已经激活定位-------------activate");mListener=onLocationChangedListener;if(mapLocationClient==null){mapLocationClient=new AMapLocationClient(MainActivity.this);mapLocationClientOption=new AMapLocationClientOption();mapLocationClientOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);//设置定位模式为 高精度mapLocationClient.setLocationOption(mapLocationClientOption);//设置配置mapLocationClient.setLocationListener(this);//设置位置变化监听mapLocationClient.startLocation();}}//关闭定位@Overridepublic void deactivate() {mListener=null;if(mapLocationClient!=null){mapLocationClient.stopLocation();mapLocationClient.onDestroy();}mapLocationClient =null;System.out.println("已经关闭定位-------------deactivate");}@Overridepublic void onLocationChanged(AMapLocation aMapLocation) {if(mListener!=null&&aMapLocation!=null){if(aMapLocation!=null&&aMapLocation.getErrorCode()==0){Toast.makeText(MainActivity.this,aMapLocation.getAddress(),Toast.LENGTH_SHORT).show();mListener.onLocationChanged(aMapLocation);System.out.println(aMapLocation.getLatitude() + "----" + aMapLocation.getLongitude() + "---------" + aMapLocation.getErrorCode());}}else{Toast.makeText(MainActivity.this,"定位失败:"+aMapLocation.getErrorCode(),Toast.LENGTH_SHORT).show();}}
}

然后就成功啦!!!

Android集成高德地图相关推荐

  1. Android 集成高德地图

    需要完成效果:集成高德地图,实现定位功能,并且实时刷新位置,每25秒自动刷新位置. 布局: <?xml version="1.0" encoding="utf-8& ...

  2. android 集成高德地图打包后报 key-location Error, ErrCode:7 的问题

    问题描述(android高德地图key鉴权失败). 工具下载地址:http://download.csdn.net/download/zhuyu19911016520/9965114 按高德官网开发文 ...

  3. 关于Android集成高德地图的那些事儿...显示地图

    记得在2016年的时候, 有个项目需要在地图上添加Marker 并且连点成线记录坐标 和 地理围栏,  当时也是第一次做,确实有点懵, 不过时间久了, 也还挺简单的 ; 最近项目中又用到了地图 , 借 ...

  4. Android 集成高德地图——当前定位,添加图标,画路线,设置显示中心位置,比例,地图刷新位置监听,判断GPS开启,去打开GPS

    /*** 判断定位服务是否开启** @param* @return true 表示开启*/ public static boolean isLocationEnabled(Context contex ...

  5. Android 集成高德地图SDK

    今天和大家分享一下如果在Android开发中引用高德地图的SDK以及实现定位,搜索,导航的功能 =-= 第一步:引入高德地图的SDK. 首先,进入高德地图开发平台,鼠标移至头像处,点击我的应用,然后新 ...

  6. Android - 集成高德地图API(搜索,地图,定位)

    前言: 今天重构公司app的地图功能,刚好做个教程出来方便大家. 第一步: 注册高德开发用户,并来到控制台,点击应用管理->我的应用,然后创建新应用 地址:高德开放平台 | 高德地图API 点击 ...

  7. android mapview 自定义地图标注,关于Android集成高德地图的那些事儿...地图标注Marker 、Poi 搜索...

    上一篇博客介绍了地图的显示,不要太简单了, 我们要实现的效果当然不仅仅是显示地图这么废了, 现在地图是有了 , 怎么在地图上添加一个标注呢? 添加一个圆形?又或者是我想在地图上添加个自定义的View, ...

  8. Android 集成高德地图黑屏

    集成当中一直不能正常显示:试了网上的 各种方式都不能解决:然后突然发现在build.gadle里添加的一个标签 packagingOptions {exclude 'classes.dex'exclu ...

  9. Android集成高德Flutter地图(一)基础地图显示

    步骤一.集成Flutter环境 步骤二.创建Flutter项目,创建高德项目获取key 如何获取Sha1: 开发板: 找到自己电脑jdk的位置进入其中bin文件夹路径下,输入命令-list -v -k ...

最新文章

  1. smarty的简单分页
  2. TortoiseGit 连接oschina不用每次输入username和password的方法
  3. 一个红 - 黑树的具体描述
  4. iOS学习之Runtime(二)
  5. xx is not in the sudoers file 问题解决
  6. SM3密码杂凑算法源码解析
  7. leetcode520. py解字符串真是太残暴了
  8. php递归删除空数组,php 递归删除非空文件夹示例
  9. linux网站权限一直自动关闭,奇妙伞-解决SELinux对网站目录权限控制的不当的问题--网上摘抄集合,记录使用...
  10. 【笔记】A Tutorial of Transformers_复旦大学邱锡鹏报告
  11. ubuntu18.04安装lua5.3.6和luarocks3.8
  12. 不容错过的Multisim14.0语言设置!!
  13. java linux 消息队列_我的第一个Linux程序----利用消息队列来实现IPC
  14. mysql auto_increment 重置_如何重置MySQL中的AUTO_INCREMENT?
  15. 苹果打字怎么换行_iPhone实用小技巧,安卓转苹果的同学看完收获尤其大
  16. pyqt5窗口之间传递信号_PyQt5不同窗口之间的值传递
  17. Python3 爬取豆瓣电影信息
  18. VPS国内各网点一键测试脚本
  19. 自己总结的iOS、mac开源项目及库
  20. 【PHP CMS系统】-- 新闻管理系统 1

热门文章

  1. 可道云 docker 群晖_群晖NAS安装影视客户端新手教程,手把手教你NAS怎么下载电影...
  2. 眼控电脑专用眼镜亮相
  3. 华硕无畏15 2023款和华硕无畏15i 2023区别 对比评测选哪个好
  4. 巨杉数据库5.0携手中信网科助推金融业创新发展
  5. 2021 谷歌游戏出海峰会精彩内容回放 | 跨界破圈 赢在未来
  6. 细说社交化经销商服务的十大典型应用场景
  7. 【安全知识分享】2021年安全生产月主题宣讲课件(附下载)
  8. 好像记得有个人喜欢我
  9. FontAwesome图标选择器
  10. 3年功能测试经验,面试拿到15k难吗?