在开发的过程中,越来越多的会涉及到LBS的,所以我们通过百度地图的一个案例,来看如何使用百度的API;
在百度地图中,常用的类主要有6个
//展示地图的类
private MapView mapview;
//地图引擎类
private BMapManager mapmanager;
//地图控制器
private MapController mapcontroller;
Overlay
Overlay是一个基类,它表示可以显示在地图上方的覆盖物。
从2.0.0开始,SDK不支持直接继承Overlay , 用户可通过继承ItemizedOverlay来添加覆盖物。
MKSearch 搜索服务. 用于位置检索、周边检索、范围检索、公交检索、驾乘检索、步行检索
MKSearchListener 搜索结果通知接口。 该接口返回poi搜索,公交搜索,驾乘路线,步行路线结果
百度地图的使用步骤:
1、申请百度开发者Key http://developer.baidu.com/map/ios-mobile-apply-key.htm
2、创建一个安卓工程
3、引入SDK里面的jar包和.SO文件
4、创建一个百度地图引擎
5、展示地图布局
//5.初始化地图引擎
initBMapManager();
//6.初始化布局
initView();
}
private void initView() {
setContentView(R.layout.activity_main);
mapview=(MapView) findViewById(R.id.mv_mybaidu);
mapcontroller=mapview.getController();//通过视图对象获得地图控制器
//启用系统默认的缩放控件,对地图进行缩放
mapview.setBuiltInZoomControls(true);
//为地图设置中心点
mapcontroller.setCenter(geopoint);
}
private void initBMapManager() {
mapmanager=new BMapManager(this);
mapmanager.init(values.key,new MKGeneralListener() {
//权限验证的方法
@Override
public void onGetPermissionState(int state) {
if(state==MKEvent.ERROR_PERMISSION_DENIED)
{
Toast.makeText(MainActivity.this,"key无效!", 0).show();
}
}
//网络验证的方法
@Override
public void onGetNetworkState(int state) {
if(state==MKEvent.ERROR_NETWORK_CONNECT)
{
Toast.makeText(MainActivity.this,"网络连接失败,请检查网络!", 0).show();
}
}
});
}