博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
百度地图开发(一)
阅读量:6822 次
发布时间:2019-06-26

本文共 2872 字,大约阅读时间需要 9 分钟。

hot3.png

昨天开始,开始玩百度SDK,一大堆问题,百度的文档太坑爹了,感觉很旧的,按照官网的配置居然错误一大堆!!!!

Now,把心得和大家分享。

一、构建项目

貌似更新了ADT插件后,jar包放在libs下不会自动编译到项目中,调试的时候一直报类找不到错误。解决办法是在libs 上点右键,将其作为源码文件夹。还有assets这个文件夹,最坑爹了!!!这个是来自于baidumapapi_v2_1_2.jar中的。不加的话有可能会报java.io.FileNotFoundException等错误。这个问题的解决参考了

二、接下来是最简单的例子

package xidian.wwf.xidianmap.activity;import xidian.wwf.xidianmap.R;import xidian.wwf.xidianmap.app.AppManager;import xidian.wwf.xidianmap.app.UIHelper;import android.os.Bundle;import android.util.Log;import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.MKGeneralListener;import com.baidu.mapapi.map.MKEvent;import com.baidu.mapapi.map.MKMapViewListener;import com.baidu.mapapi.map.MapController;import com.baidu.mapapi.map.MapView;import com.baidu.platform.comapi.basestruct.GeoPoint;public class MainActivity extends BaseActivity {	final static String TAG = "MainActivity";	BMapManager mBMapMan = null;	/**	 * MapView 是地图主控件	 */	MapView mMapView = null;	/**	 * 用MapController完成地图控制	 */	MapController mMapController = null;	/**	 * MKMapViewListener 用于处理地图事件回调	 */	MKMapViewListener mMapListener = null;	@Override	public void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		/**		 * 它需要地图模块创建前创建,		 * 并在地图地图模块销毁后销毁,只要还有地图模块在使用,BMapManager就不应该销毁		 */		mBMapMan = new BMapManager(getApplication());		mBMapMan.init(AppManager.baiduStrKey, new MyGeneralListener());		setContentView(R.layout.activity_main);		mMapView = (MapView) findViewById(R.id.bmapView);		mMapView.setBuiltInZoomControls(true);		// 设置启用内置的缩放控件		mMapController = mMapView.getController();		// 得到mMapView的控制权,可以用它控制和驱动平移和缩放		GeoPoint point = new GeoPoint((int) (39.915 * 1E6),				(int) (116.404 * 1E6));		// 用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)		mMapController.setCenter(point);// 设置地图中心点		mMapController.setZoom(12);// 设置地图zoom级别	}	@Override	protected void onDestroy() {		mMapView.destroy();		if (mBMapMan != null) {			mBMapMan.destroy();			mBMapMan = null;		}		super.onDestroy();	}	@Override	protected void onPause() {		mMapView.onPause();		if (mBMapMan != null) {			mBMapMan.stop();		}		super.onPause();	}	@Override	protected void onResume() {		mMapView.onResume();		if (mBMapMan != null) {			mBMapMan.start();		}		super.onResume();	}	// 常用事件监听,用来处理通常的网络错误,授权验证错误等	class MyGeneralListener implements MKGeneralListener {			@Override			public void onGetNetworkState(int iError) {				Log.e("ee", String.valueOf(iError));				if (iError == MKEvent.ERROR_NETWORK_CONNECT) {					UIHelper.ToastMessage(MainActivity.this, "您的网络出错啦!");				} else if (iError == MKEvent.ERROR_NETWORK_DATA) {					UIHelper.ToastMessage(MainActivity.this, "输入正确的检索条件!");				}			}			@Override			public void onGetPermissionState(int iError) {				if (iError == MKEvent.ERROR_PERMISSION_DENIED) {					// 授权Key错误:					UIHelper.ToastMessage(MainActivity.this, "请在输入正确的授权Key!");				}			}		}}

转载于:https://my.oschina.net/superbigfu/blog/143711

你可能感兴趣的文章
LAMP里php.ini配置文件详解
查看>>
redhat6.2多路冗余multipath
查看>>
加密类型以及相关算法
查看>>
WIN2000分布式服务笔记(第一章)
查看>>
11g包dbms_parallel_execute在海量数据处理过程中的应用
查看>>
索引表批量数据装载
查看>>
Oracle 12cR1 RAC 在VMware Workstation上安装(中)—图形界面安装
查看>>
centos 6.8 挂载NTFS移动硬盘
查看>>
独家专访Jeff Dean:TensorFlow不追求一家独大
查看>>
zabbix修改之中文主机名
查看>>
Golang的fallthrough与switch的坑
查看>>
window.opener()方法
查看>>
gitlab 2.2和更高版本升级到2.7
查看>>
puppetmaster
查看>>
openldap ACL设置
查看>>
陕西互联网出路何在?
查看>>
JUnit注解与hamcrest
查看>>
Struts2学习(三):namespace属性的使用
查看>>
首部分享经济发展报告发布 参与分享经济人数已超5亿
查看>>
Jquery文字一行一行向上滚动
查看>>