高德地图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,这两个方法很实用哦,赶快试试吧