高德地图api(二)地图的显示

高德地图api(二)地图的显示##

首先,导入jar包#

因为这个是第三方api,所以要先导入jar包
在官网上找到相应的jar,我推荐直接下整合包(已经把所有的jar给你打好了)
我用的是2D地图,所以下了2D的整合包
根据官方文档的介绍,有两种方法,一是下载导入,二是在grade管理中添加依赖
我感觉一方法更加的简单,推荐把
在android studio下把工程目录换成project目录
在app下的libs文件目录下,将下好的jar包导入进去,并右击,点击as to library,添加后如下图,

第一步就完成了

其次,注册下权限和你的key#

在第一章中,申请了key,就用在这个地方,如下图:

将你的key添加到meta-data中的values值中
权限也如上图

再次,显示你的图片#

在高德地图中有许多显示地图的方法,直接导入MapView,添加fragment等等
先从高频使用的入手吧,MapView
这个可以直接调用,如下图:

然后在activity中使用它,
''' @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
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();
}

}'''
基本上就ok了,点击运行把

还有用fragment添加地图,来试试把
在布局中添加fragment布局
在activity中,添加如下代码
''' @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.basemap_fragment_activity);
setUpMapIfNeeded();
}

@Override
protected void onResume() {
	super.onResume();
	setUpMapIfNeeded();
}

private void setUpMapIfNeeded() {
	if (mMap == null) {
		mMap = ((SupportMapFragment) getSupportFragmentManager()
				.findFragmentById(R.id.map)).getMap();
	}
}

}'''
这样就ok,这两个方法很实用哦,赶快试试吧

原文地址:https://www.cnblogs.com/firefoxman/p/6944537.html