高德地图一:环境搭建及显示模式切换


高德地图一:环境搭建及显示模式切换

实现步骤:

1,获取Sha1
(1)获取调试版Sha1:进入AndroidStudio的Terminal中,输入命令keytool -v -list -keystore keystore文件路径
(2)获取正式版Sha1:进入AndroidStudio的Terminal中,输入命令keytool -v -list -keystore …/…/xxx.keystore

2,创建应用获取key:
去高德地图官网注册账号并创建应用。填入包名和keystore的Sha1。
官网:
https://lbs.amap.com/api/android-location-sdk/gettingstarted

3,下载并安装开发包(或采用添加依赖的形式)
https://lbs.amap.com/api/android-sdk/guide/create-project/android-studio-create-project

4,配置 AndroidManifest.xml 文件

		<meta-data 
			android:name="com.amap.api.v2.apikey" 
			android:value="您的Key">
		</meta-data>


		AndroidManifest.xml中配置权限:
			<!--用于进行网络定位-->
			<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
			<!--用于访问GPS定位-->
			<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
			<!--获取运营商信息,用于支持提供运营商信息相关的接口-->
			<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
			<!--用于访问wifi网络信息,wifi信息会用于进行网络定位-->
			<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
			<!--这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
			<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
			<!--用于访问网络,网络定位需要上网-->
			<uses-permission android:name="android.permission.INTERNET"></uses-permission>
			<!--用于读取手机当前的状态-->
			<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
			<!--写入扩展存储,向扩展卡写入数据,用于写入缓存定位数据-->
			<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
			<!--用于申请调用A-GPS模块-->
			<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
			<!--用于申请获取蓝牙信息进行室内定位-->
			<uses-permission android:name="android.permission.BLUETOOTH"></uses-permission>
			<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"></uses-permission>

实例:显示地图并切换显示模式
layout/activity_main.xml

		<?xml version="1.0" encoding="utf-8"?>
		<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
			android:layout_width="match_parent"
			android:layout_height="match_parent"
			android:background="#fff"
			android:orientation="vertical">

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

			<LinearLayout
				android:layout_width="wrap_content"
				android:layout_height="wrap_content"
				android:layout_gravity="top|right"
				android:orientation="vertical">

				<Button
					android:id="@+id/basicmap"
					android:layout_width="wrap_content"
					android:layout_height="wrap_content"
					android:gravity="center"
					android:layout_gravity="right"
					android:text="标准地图"
					android:textColor="@color/black"
					android:textSize="12sp" />

				<Button
					android:id="@+id/rsmap"
					android:layout_width="wrap_content"
					android:layout_height="wrap_content"
					android:gravity="center"
					android:layout_gravity="right"
					android:text="卫星地图"
					android:textColor="@color/black"
					android:textSize="12sp" />

				<Button
					android:layout_gravity="right"
					android:id="@+id/nightmap"
					android:layout_width="wrap_content"
					android:layout_height="wrap_content"
					android:gravity="center"
					android:text="夜间模式"
					android:textColor="@color/black"
					android:textSize="12sp" />

				<Button
					android:id="@+id/navimap"
					android:layout_width="wrap_content"
					android:layout_height="wrap_content"
					android:gravity="center"
					android:layout_gravity="right"
					android:text="导航模式"
					android:textColor="@color/black"
					android:textSize="12sp" />
			</LinearLayout>
		</FrameLayout>

com/example/administrator/MainActivity.java

	package com.example.administrator;

		import android.app.Activity;
		import android.os.Bundle;
		import android.view.View;
		import android.widget.Button;

		import com.amap.api.maps.AMap;
		import com.amap.api.maps.MapView;

		public class MainActivity extends Activity implements View.OnClickListener {
			private final String TAG = "MainActivity";
			private MapView mapView;
			private AMap aMap;
			private Button navimap;
			private Button nightmap;
			private Button rsmap;
			private Button basicmap;

			@Override
			protected void onCreate(Bundle savedInstanceState) {
				super.onCreate(savedInstanceState);
				setContentView(R.layout.activity_main);
				mapView = (MapView) findViewById(R.id.map);
				mapView.onCreate(savedInstanceState);// 此方法必须重写

				init();
			}

			/**
			 * 初始化AMap对象
			 */
			private void init() {
				if (aMap == null) {
					aMap = mapView.getMap();
				}
				basicmap = findViewById(R.id.basicmap);
				basicmap.setOnClickListener(this);
				rsmap = findViewById(R.id.rsmap);
				rsmap.setOnClickListener(this);
				nightmap = findViewById(R.id.nightmap);
				nightmap.setOnClickListener(this);
				navimap = findViewById(R.id.navimap);
				navimap.setOnClickListener(this);
			}

			@Override
			public void onClick(View v) {
				{
					switch (v.getId()) {
						case R.id.basicmap:
							aMap.setMapType(AMap.MAP_TYPE_NORMAL);// 矢量地图模式
							break;
						case R.id.rsmap:
							aMap.setMapType(AMap.MAP_TYPE_SATELLITE);// 卫星地图模式
							break;
						case R.id.nightmap:
							aMap.setMapType(AMap.MAP_TYPE_NIGHT);//夜景地图模式
							break;
						case R.id.navimap:
							aMap.setMapType(AMap.MAP_TYPE_NAVI);//导航地图模式
							break;
					}


				}
			}

			/**
			 * 方法必须重写
			 */
			@Override
			protected void onResume() {
				// TODO Auto-generated method stub
				super.onResume();
				mapView.onResume();
			}

			/**
			 * 方法必须重写
			 */
			@Override
			protected void onPause() {
				// TODO Auto-generated method stub
				super.onPause();
				mapView.onPause();
			}

			/**
			 * 方法必须重写
			 */
			@Override
			protected void onSaveInstanceState(Bundle outState) {
				// TODO Auto-generated method stub
				super.onSaveInstanceState(outState);
				mapView.onSaveInstanceState(outState);
			}

			/**
			 * 方法必须重写
			 */
			@Override
			protected void onDestroy() {
				// TODO Auto-generated method stub
				super.onDestroy();
				mapView.onDestroy();
			}
		}

转载自:https://blog.csdn.net/zk1382091/article/details/87903975

You may also like...