这几天正在学习百度地图,比较肯跌的是网上的视频都已经过时了。搞得我老是不成功!!还是那句话一切看文档才是权威。
这里我简单介绍一下地图的定位功能,申请key我这里就不做介绍。
这里的例子主要是以百度的官方例子为主:
我先说下需要注意的吧!导包的时候注意看
在libs目录下是有一个armeabi文件夹的 而且你要区分一下哪些是属于libs目录下的。你从官方文档里下载的时候是有armeabi文件夹的 你直接导入就行了。
下面我说下注册的内容,这里是拷贝百度的:
显示百度地图
百度地图SDK为开发者提供了便捷的显示百度地图数据的接口,通过以下几步操作,即可在您的应用中使用百度地图数据:
第一步:创建并配置工程(具体方法参见工程配置部分的介绍);
第二步:在AndroidManifest中添加开发密钥、所需权限等信息;
(1)在application中添加开发密钥
<application
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="开发者 key" />
</application>
2)添加所需权限
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
还有布局的话我就添加了一个显示百度地图的控件,需要什么按钮自己可以添加
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
最后看下代码:也是copy百度地图的事例代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 在使用SDK各组件之前初始化context信息,传入ApplicationContext
// 注意该方法要再setContentView方法之前实现
// 在SDK各功能组件使用之前都需要调用
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
bmapView = (MapView) findViewById(R.id.bmapView);
mbaiduMap = bmapView.getMap();
// 普通地图
mbaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
// 设置一个坐标
LatLng latlng = new LatLng(39.963175, 116.400244);
// 加载一个显示坐标的一个图标
BitmapDescriptor bimp = new BitmapDescriptorFactory()
.fromResource(R.drawable.icon_mark);
// 构建MarkerOption,用于在地图上添加Marker
OverlayOptions option = new MarkerOptions().position(latlng).icon(bimp);
// 将这些添加到地图中去
mbaiduMap.addOverlay(option);
}
@Override
protected void onResume() {
super.onResume();
// 在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
bmapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
// 在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
bmapView.onPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
// 在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
bmapView.onDestroy();
}
}