首先我们先看下效果 demo中包含了两种不同风格的地图定位效果展示,一种仿IOS的苹果地图实现的界面 地图抽屉栏展示 通过手势滑动可以实现底部栏的BottomSheetBehavior 可以通过上下拖拽 隐藏或者全屏效果
项目地址:https://github.com/xinjilong/GaodeIosStyle2
第二种效果也是 常见的开发的需求 屏幕一分为2 一半为地图展示一半为热点地址显示 滑动地图地址更新效果
针对高德地图的引用 首先我们需要到高德官方 进行key 的申请,( JAR的引用 SO文件的加载 项目中已经有可以直接复制)
清单文件的配置key 以及定位需要的service
<!--高德地图需要的key,根据官方API将自己申请的key进行替换 value--> <meta-data android:name="com.amap.api.v2.apikey" android:value="9d8d5b93db86edce55ccb4432fb0f464"/> <!--定位需要服务--> <service android:name="com.amap.api.location.APSService"></service>
添加权限
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xinyang.alienware.gaodeiosstyle"> <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" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <!--高德地图需要的key,根据官方API将自己申请的key进行替换 value--> <meta-data android:name="com.amap.api.v2.apikey" android:value="9d8d5b93db86edce55ccb4432fb0f464"/> <!--定位需要服务--> <service android:name="com.amap.api.location.APSService"></service> <!--android:windowSoftInputMode="adjustPan" 注意此属性防止软键盘将底部顶上去>--> <activity android:name=".MainActivity" android:screenOrientation="portrait" android:windowSoftInputMode="adjustPan"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!--动态获取权限--> <activity android:name=".permissions.PermissionsActivity" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize"/> </application>
定位需要的相关操作
mapView.