先看官网

链接: 高德官网.

1. 第一步,配置AndroidManifest.xml

<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<!--允许程序设置内置sd卡的写权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--允许程序访问WiFi网络信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--允许程序读写手机状态和身份-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--允许程序访问CellID或WiFi热点来获取粗略的位置-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

然后,设置高德Key

链接: 官网控制台获取key.
在application标签中加入如下内容:

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

2. 第二步,向工程中添加地图开发包

  1. 使用默认配置,不需要修改build.gradle。在 main 目录下创建文件夹 jniLibs (如果有就不需要创建了),将下载文件的 armeabi 文件夹复制到jniLibs这个目录下,如果已经有这个目录,将下载的 so 库复制 到这个目录即可
    2.将jar包放入libs目录下。对于每个jar文件,右键-选择Add As Library,导入到工程中。或者使用菜单栏 选择 File ->Project Structure->Modules-> Dependencies。点击绿色的加号选择File dependency. 然后选择要添加的jar包即可

3. 第三步,初始化地图容器

  • xml
<com.amap.api.maps.MapViewandroid:id="@+id/map"android:layout_width="match_parent"android:layout_height="match_parent"/>
  • Java
public class MainActivity extends Activity {private MapView mMapView = null;//初始化地图控制器对象AMap aMap;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);//获取地图控件引用mMapView = (MapView) findViewById(R.id.map);button = (Button) findViewById(R.id.button);//在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),创建地图mMapView.onCreate(savedInstanceState);if (aMap == null) {aMap = mMapView.getMap();}//获取地图initmap();}private void initmap() {//加一个,再次执行AMapLocationClient.setApiKey("你的key值")LatLng latLng = new LatLng(27.987247,119.804769);//经纬度aMap.getUiSettings().setLogoBottomMargin(-50);//logo移出可视界面aMap.getUiSettings().setZoomGesturesEnabled(false);//禁用双击地图可以使缩放级别增加1 (放大)aMap.getUiSettings().setZoomControlsEnabled(false);//禁用加减号控制缩放 管理缩放控件 + -aMap.getUiSettings().setRotateGesturesEnabled(false);//禁用旋转手势aMap.getUiSettings().setTiltGesturesEnabled(false);//禁用倾斜手势aMap.moveCamera(CameraUpdateFactory.changeLatLng(latLng)); //设置中心点aMap.moveCamera(CameraUpdateFactory.zoomTo(15f)); //设置缩放比例 f//设置自定义地图样式aMap.setCustomMapStyle(new CustomMapStyleOptions().setEnable(true).setStyleData(GetAssetsStyle.getInstance().getAssetsStyle(MainActivity.this,"style.data")).setStyleExtraData(GetAssetsStyle.getInstance().getAssetsStyle(MainActivity.this,"style_extra.data")));//绘制默认 Marker -- Marker 常用属性、 position  在地图上标记位置的经纬度值。必填参数、title 点标记的标题e、snippet   点标记的内容// draggable 点标记是否可拖拽、 visible 点标记是否可见、anch 点标记的锚点、alpha 点的透明度final Marker marker = aMap.addMarker(new MarkerOptions().position(latLng)//在地图上标记位置的经纬度值.title("预警")//点标记的标题.snippet("嘀嘀嘀"));//点标记的内容marker.showInfoWindow();//显示自定义marker}@Overrideprotected void onDestroy() {super.onDestroy();//在activity执行onDestroy时执行mMapView.onDestroy(),销毁地图mMapView.onDestroy();}@Overrideprotected void onResume() {super.onResume();//在activity执行onResume时执行mMapView.onResume (),重新绘制加载地图mMapView.onResume();}@Overrideprotected void onPause() {super.onPause();//在activity执行onPause时执行mMapView.onPause (),暂停地图的绘制mMapView.onPause();}@Overrideprotected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);//在activity执行onSaveInstanceState时执行mMapView.onSaveInstanceState (outState),保存地图当前的状态mMapView.onSaveInstanceState(outState);}
}

4.自定义地图

  • 下载离线 style.data style_extra.data
  • 放在静态文件assets中
 aMap.setCustomMapStyle(new CustomMapStyleOptions().setEnable(true).setStyleData(GetAssetsStyle.getInstance().getAssetsStyle(MainActivity.this,"style.data")).setStyleExtraData(GetAssetsStyle.getInstance().getAssetsStyle(MainActivity.this,"style_extra.data")));

Android studio 高德地图开发相关推荐

  1. 用android studio测量距离,Android studio 百度地图开发(6)Marker绑定事件、计算两点距离...

    Android studio 百度地图开发(6)Marker绑定事件.计算两点距离 email:chentravelling@163.com 开发环境:win7 64位,Android Studio, ...

  2. Android studio 百度地图开发(5)查询周边服务(加油站)

    Android studio 百度地图开发(5)查询周边服务(加油站) email:chentravelling@163.com 开发环境:win7 64位,Android Studio,请注意是An ...

  3. Android studio 百度地图开发(3)地图导航

    Android studio 百度地图开发(3)地图导航 email:chentravelling@163.com 工程下载地址:http://blog.csdn.net/chentravelling ...

  4. android 混淆高德地图,开发注意事项-创建工程-开发指南-Android 地图SDK | 高德地图API...

    添加高德 Key 为了保证高德 Android SDK 的功能正常使用,您需要申请高德 Key 并且配置到项目中. 项目的 "AndroidManifest.xml" 文件中,添加 ...

  5. 谷歌 地图 android studio,Android Studio百度地图开发(一)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本人用Android Studio做百度地图开发,调试了一整天,始终无法通过.然后怀疑代码有问题,就换Eclipse进行代码编写,毕竟网上关于Eclips ...

  6. android studio高德地图的显示于定位(附带逆地理编码围栏)

    首先注册高德成为开发者(打开高德地图,点击底部的开发者平台),创建应用,按照要求填写相应信息 网站:http://lbs.amap.com/api/android-sdk/guide/create-p ...

  7. android studio高德地图的基本使用

    1.key和SHA1 1.在高德地图上申请key 具体详情内容,请参考官方获取key的方法 2.开发模式(debug)和发布模式(release)下的 SHA1 值是不同的,发布 apk时 需要根据发 ...

  8. Android Studio百度地图开发所需参数获取SHA1或MD5的最简单方法(图文教程)

    Android Studio获取SHA1或MD5的最简单方法 /*** Copyright (c) 2016, smuyyh@gmail.com All Rights Reserved.* # #* ...

  9. android百度地图定位文字表述,Android studio 百度地图开发(8)地图已标记POI点和搜索POI点的获取和利用...

    一.简要描述 百度地图的POI点可以分有两种:地图中已经标记的点和通过关键词搜索得到的POI点.对于这两种POI点,百度封装成了不同的类和接口来实现监听,下面简单讲一点. 二.地图中已标记POI点 首 ...

最新文章

  1. 【 FPGA 】总线实现形式之三态门
  2. 如何为从1到10万用户的应用程序,设计不同的扩展方案?
  3. 会话(session)
  4. C ++中的std :: binary_search()
  5. 【绿色版】飞鸽传书2011绿色版
  6. c语言指针的概念和作用,指针:C语言的重要概念和特色.pdf
  7. Spring Cloud版——电影售票系统七使用 Zuul 构建微服务网关
  8. 4、根据前序和中序,重建二叉树
  9. 【ACL2020】CESTa, 将对话中的情感分类任务建模为序列标注任务
  10. golang web接口压力测试,性能测试(1)
  11. Layout state should be one of 100 but it is 10起因和解决
  12. markdown生成chm电子书或在线文档
  13. 硬件产品开发:外包五要素和外包地图
  14. windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
  15. 机器学习----代价函数(cost function)
  16. Vue使用Object标签对接IC读卡器硬件
  17. c语言煎饼问题算法,翻煎饼问题(示例代码)
  18. 什么是首席数据官?通过数据创造业务价值的领导者
  19. 循序渐进全球化 镜像识别
  20. linux ubuntu 下禁用/启用touchpad

热门文章

  1. 硬件MSB最高位优先、LSB最低位优先的CRC计算原理详细解释和程序,正算反算成功等效,DS18B20和HTU31D传感器CRC
  2. 小米usb当前设备已被临时限制3-2
  3. 求解两点间最短路径的算法
  4. 牛客IOI周赛27-普及组
  5. 室外管线lisp_AutoLISP语言在化工工艺室外管线设计中的应用
  6. 服务器运维1-failed to start LSB
  7. JAVA中枚举是什么
  8. MATLAB 设置msgbox若干秒后自动关闭
  9. PCB中solder层和paste层的区别
  10. Python基础--魔法方法()运算符重载)