集成高德地图亲测
一、高德地图开发文档来集成(写的比较清楚了 这里我就简单的说下步骤)
http://lbs.amap.com/api/android-sdk/guide/create-project/android-studio-create-project
二、1.首先在Android studio里面新建立一个应用
2.然后获取SHA1 地址:(http://lbs.amap.com/faq/top/hot-questions/249)
3.在控制台新建应用 按照上面的把资料输入就好啦 建好之后如下图
4.接下来就是下载高德地图的开发定制包(http://lbs.amap.com/api/android-sdk/download/)
记住下载这个哦 不要下错了
5.下载之后解压是这样的
a.把我画红色的 添加到libs中去
b.把其余的包发到main下面去(如图)
c.在main哪里新建一个文件夹命名jniLibs(记住这个名称一定不要输错了,这是个坑点)
6.最后需要添加权限了(如下所示)--在AndroidManifest中添加哦
<!--允许程序打开网络套接字--> <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" /> <!--用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!--用于访问GPS定位--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!--用于获取wifi的获取权限,wifi信息会用来进行网络定位--> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!--用于申请调用A-GPS模块--> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
7.同样在添加完权限之后在application中添加这行
<meta-data android:name="MyMapDemoTest" android:value="7d70b2d478d38184c4a57384ba297a02" />
如下图
8.到这里就要开始写代码了哦
a.activity_main.xml代码展示
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.administrator.mydemotextmap.MainActivity"> <com.amap.api.maps.MapView android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent"> </com.amap.api.maps.MapView>
</android.support.constraint.ConstraintLayout>
b.在main方法中的代码如下所示:
public class MainActivity extends AppCompatActivity { AMap aMap; MapView mMapView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取地图控件引用 mMapView = (MapView) findViewById(R.id.map_view); //在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),创建地图 mMapView.onCreate(savedInstanceState); //初始化地图控制器对象 牛逼 3.01都搞了ta'men'yong'd if (aMap == null) { aMap = mMapView.getMap(); } } @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); } }
9、最后运行 就看到效果啦!是不是很简单