Android 之 高德地图学习 一 基本地图 - Go语言中文社区

Android 之 高德地图学习 一 基本地图



自己做的笔记,没有深层的东西,请大神绕行~


高德地图和百度地图相差不多,网上很多百度地图的视频教学,在这里锻炼下自己的学习能力,来弄下高德地图。


首先 进入 高德地图  官网,注册开发者  ,申请key。

然后下载相应的SDK,分为2D 、3D、搜索服务,最好再下载相应的Demo...反正我是都下了O(∩_∩)O


刚刚学习肯定不知道怎么学,那就看看官方文档吧。(我用的是2D的SDK)

简介大家自己看吧,首先配置工程,很简单 按照文档里面一步一步来就可以,这里就没必要浪费时间了。

本章主要的--->地图显示


看文档介绍的有点似懂非的感觉呀,嘿嘿,那么就去看下官方的Demo吧~(其实主要是想去看demo  =。=)


这是demo的图片,我们看下基本地图

       基本地图:    

这个就是刚刚的,那么我们要实现这样的地图怎么实现呢,看下demo代码就知道啦~

路径:/AMap_Android_API_2DMap_Demo_V2.7.0_Location_API_V2.0/src/com/amap/map2d/demo/basic/BasicMapActivity.java

代码:

package com.amap.map2d.demo.basic;
 

import android.app.Activity;
import android.os.Bundle;

import com.amap.api.maps2d.AMap;
import com.amap.api.maps2d.MapView;
import com.amap.map2d.demo.R;
 

/**
 * AMapV1地图中介绍如何显示世界图
 */
public class BasicMapActivity extends Activity {

	private MapView mapView;
	private AMap aMap;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		<span style="background-color: rgb(255, 0, 0);">setContentView(R.layout.basicmap_activity);</span>
		mapView = (MapView) findViewById(R.id.map);
		mapView.onCreate(savedInstanceState);// 此方法必须重写
		
		init();
	}

	/**
	 * 初始化AMap对象
	 */
	private void init() {
		if (aMap == null) {
			aMap = mapView.getMap();
			
		}
		
	}

	/**
	 * 方法必须重写
	 */
	@Override
	protected void onResume() {
		super.onResume();
		mapView.onResume();
	}

	/**
	 * 方法必须重写
	 */
	@Override
	protected void onPause() {
		super.onPause();
		mapView.onPause();
	}

	/**
	 * 方法必须重写
	 */
	@Override
	protected void onSaveInstanceState(Bundle outState) {
		super.onSaveInstanceState(outState);
		mapView.onSaveInstanceState(outState);
	}

	/**
	 * 方法必须重写
	 */
	@Override
	protected void onDestroy() {
		super.onDestroy();
		mapView.onDestroy();
	}

}


我们看红色的那行代码,找到R.layout.basicmap_activity.xml  发现里面很简单:


<?xml version="1.0" encoding="utf-8"?>
<com.amap.api.maps2d.MapView 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/map"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />


运行后发现 基本地图就出来了


而且你会神奇的发现可以放大缩小,滑动等,为什么呢?官方给出了如下回应:

地图显示的关键类是 AMap 类。在您的应用程序中,AMap 是地图的对象。AMap 地图将会通过
MapFragment 或 MapView 容器类来表现。
AMap 类自动处理以下操作:
  连接到高德地图服务
  下载地图数据
  在设备屏幕上显示地图
  显示各种控件,如缩放控件
  支持各种手势,如平移和缩放手势

那么代码中的 AMap 对象是如何获得的呢,是初始化mapView 然后 mapView.onCreate(savedInstanceState); 最后是mapView.getMap();

那么 mapView 是什么呢,稍微思考下就知道了,是高德的自定义控件,也就是com.amap.api.maps2d.MapView。 官方给其解释是:

一个显示地图的视图(View)。它负责从服务端获取地图数据。当屏幕焦点在这个视图上时,它将会捕捉键盘事件(如果手机配有实体键盘)及屏幕触控手势事件。 使用这个类必须按照它的生命周期进行操控,你必须参照以下方法onCreate(Bundle)、 onResume()、onPause()、onDestroy()、onSaveInstanceState(Bundle)。 当MapView初始化完成后,用户可以通过getMap()方法获得一个AMap 对象。如果MapView 没有初始成功,则执行getMap()将返回null。 显示地图更方便的方法是使用MapFragment或者SupportMapFragment(如果要低于API 12(Android 3.1)的平台上运行)。


总结下:

注册账号 获取key(安装官方步骤来)

首先配置工程,主要是添加权限和key到jar包啥的

显示基本地图---->分析demo或者看官方文档。



对于基本地图显示:自定义控件MapView作为载体来显示,AMap 来控制控件(官方说是:定义AMap 地图对象的操作方法与接口),有点像MVC一样分层  哈哈。


第二篇开始介绍 AMap 类的一些方法 和定位


版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_24889075/article/details/50529802
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 21:25:18
  • 阅读 ( 1331 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢