<application
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="P3G69b5s87YG5M31f8A7oyLW"/>
</application>
<uses-permissionandroid:name="android.permission.GET_ACCOUNTS"/>
<uses-permissionandroid:name="android.permission.USE_CREDENTIALS"/>
<uses-permissionandroid:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permissionandroid:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="com.android.launcher.permission.READ_SETTINGS"/>
<uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permissionandroid:name="android.permission.BROADCAST_STICKY"/>
<uses-permissionandroid:name="android.permission.WRITE_SETTINGS"/>
<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>
<com.baidu.mapapi.map.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"/>
protectedvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 在使用SDK各组件之前初始化context信息,传入ApplicationContext
// 注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());
// 装载布局文件
setContentView(R.layout.activity_main);
}
publicclass MainActivity extends Activity {
private MapView mapView;
@Override
protectedvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 在使用SDK各组件之前初始化context信息,传入ApplicationContext
// 注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());
// 装载布局文件
setContentView(R.layout.activity_main);
mapView = (MapView) findViewById(R.id.mapView);
}
@Override
protectedvoid onResume() {
super.onResume();
mapView.onResume();
}
@Override
protectedvoid onPause() {
super.onPause();
mapView.onPause();
}
@Override
protectedvoid onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
}
- 布局文件中使用MapView;
- 初始化SDK,并检查Key的合法性;
- SDKInitializer.initialize(getApplicationContext());
- checkKEY();
- 初始化BaiduMap对象;
- 对MapView进行findViewById();
- MapView对象调用getMap(),返回BaiduMap;
- 设置BaiduMap;
- setMapType();
- setTrafficEnabled();
- 布局文件中使用fragment,用来实现对BaiduMap的加载;
- class="com.baidu.mapapi.map.SupportMapFragment"
- 当前Activity继承于FragementActivity;
- 初始化SDK,并检查Key的合法性;
- SDKInitializer.initialize(getApplicationContext());
- checkKEY();
- 备注:该两句话必须放在setContentView()之前。
- 初始化BaiduMap对象;
- baiduMap = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.fragment_poi_map)).getBaiduMap();
- 初始化PoiSearch对象;
- PoiSearch.newInstance();
- 给PoiSearch对象设置监听器;
- setOnGetPoiSearchResultListener(),重写onGetPoiResult()方法;
- 自定义PoiOverlay类,实现对每个标记的单击监听;
- 通过onPoiClick()方法,获取每个PoiInfo中的信息。如果这个对象中包含有明细,可以打开一个新页面来展示兴趣点的详细介绍。
- 在AndroidManifest.xml文件中配置PlaceCaterActivity页面;
- 该页面是Baidu提供的POI的明细介绍页面。
- PoiSearch对象调用searchInBound()、searchInCity() 、 searchNearby()方法实现兴趣点查询。
- 实例化BaiduMap,PoiSearch对象;
- PoiSearch对象设置OnGetPoiSearchResultListener()监听;
- PoiSearch对象调用searchInCity()方法触发监听。
- 布局文件中使用MapView,用来实现对BaiduMap的加载;
- 初始化SDK,并检查Key的合法性;
- SDKInitializer.initialize(getApplicationContext());
- checkKEY();
- 初始化MapView;
- 调用findViewById()
- 初始化BaiduMap对象;
- baiduMap = MapView对象.getMap();
- 初始化RoutePlanSearch对象;
- RoutePlanSearch.newInstance();
- 给RoutePlanSearch对象设置监听器;
- setOnGetRoutePlanResultListener(),重写onGetWalkingRouteResult()、onGetTransitRouteResult()、onGetDrivingRouteResult()方法;
- 自定义三种RouteOverlay类(WalkingRouteOverlay、TransitRouteOverlay、DrivingRouteOvelray);[可选]
- 调用RoutePlanSearch对象的三种方法(drivingSearch()、transitSearch()、walkingSearch())实现路线规划。
- 实例化BaiduMap,RoutePlanSearch对象;
- RoutePlanSearch对象设置OnGetRoutePlanResultListener监听;
- RoutePlanSearch对象调用drivingSearch()、transitSearch()、walkingSearch()方法触发监听。
- 布局文件中使用fragment,用来实现对BaiduMap的加载;
- class="com.baidu.mapapi.map.SupportMapFragment"
- 初始化SDK,并检查Key的合法性;
- SDKInitializer.initialize(getApplicationContext());
- checkKEY();
- 当前Activity继承于FragementActivity;
- 初始化BaiduMap对象;
- baiduMap = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.fragment_poi_map)).getBaiduMap();
- 初始化PoiSearch对象/初始化BusLineSearch对象;
- PoiSearch.newInstance();
- BusLineSearch.newInstance();
- 给BusLineSearch对象设置监听器;
- setOnGetBusLineSearchResultListener(),重写onGetBusLineResult()方法;
- 给PoiSearch对象设置监听器;
- setOnGetPoiSearchResultListener(),重写onGetPoiResult()方法;
- 在这个监听器中调用BusLineSearch对象的searchBusLine()方法;
- 给按钮增加单击监听事件,实现PoiSearch对象的searchInBound()、searchInCity() 、 searchNearby()方法实现兴趣点查询。
- 实例化BaiduMap、PoiSearch对象及BusLineSearch对象;
- PoiSearch对象设置OnGetPoiSearchResultListener()监听;BusLineSearch对象设置OnGetBusLineSearchResultListener监听;
- 在PoiSearch对象的监听回调方法onGetPoiResult()中调用busLineSearch对象的searchBusLine()方法;
- PoiSearch对象调用searchInCity()方法触发整个监听。