百度地图之一百度地图搭建开发环境(老罗视频笔记整理)

来源:互联网 发布:青花瓷歌词 知乎 编辑:程序博客网 时间:2024/04/29 08:30

百度地图移动版介绍:

1.百度地图移动版API是一套基于移动互联网设备的应用程序接口,支持ios/android平台。

2.通过该接口,您可以轻松访问百度服务和数据,构建功能丰富、交互性强的地图应用程序。百度地图移动API不仅包含构建地图的基本接口,还提供了诸如定位服务、本地搜索、路线规划等数据服务,你可以根据自己的需要进行选择。

关于百度地图修改的BUG

1.百度地图移动版API 1.3.3版本(Android)

      2.修改国外gps坐标转为百度坐标错误的问题

      3.添加搜索在线建议词功能

      4.关于1.3.3版本升级的详细内容和历史升级请参考更新日志。在类参考文档中,我们也增加了接口说明。

百度地图官网地址:http://dev.baidu.com/wiki/imap/index.php

新地址:http://developer.baidu.com/map/

1. 配置Manifest.xml 文件

     添加百度地图开发的授权:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" ></uses-permission><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" ></uses-permission><uses-permission android:name="android.permission.INTERNET" ></uses-permission><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" ></uses-permission><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" ></uses-permission><uses-permission android:name="android.permission.READ_PHONE_STATE" ></uses-permission>

 

    添加对屏幕的支持:

<supports-screens android:largeScreens="true"android:normalScreens="true" android:smallScreens="true"android:resizeable="true" android:anyDensity="true"/>

 

2. 在libs中添加 百度地图的jar包 baidumapapi.jar

3. 在布局文件main.xml中添加显示

<com.baidu.mapapi.MapViewandroid:id="@+id/bmapView"android:layout_width="fill_parent"android:layout_height="fill_parent"android:clickable="true" />

 

4 .Activity中的定义

   类 BMapManager 是一个地图引擎管理类,通过此类的start()方法,可以打开地图API;通过此类的stop()方法,可以终止百度地图API,调用此函数后,不会再发生回调。 通过init(String strKey,MKGeneralListener listener)方法初始化。在程序退出的时候调用此类中destory()方法。

   接口 MKGeneralListener 用于监听授权之后的结果,察看Key的状态是否正确。300 表示验证失败。

  类MapActivity  用来显示管理MapView类中activity处理逻辑的基础类。其中的initMapActivity(BMapManager bmapMan)用于初始化Activity。

  类GeoPoint 表示一个地理坐标点,存放经度和纬度,以微度的整数形式存储

注意事项:

  地图、定位、搜索功能都需要BMapManager来管理,BMapManager提供四个接口,init,start,stop,destory。建议在Appliaction里生成BMapManager对象并初始化,在程序退出时调用destory,在需要使用sdk功能的activity的onCreate里调用start,onDestory调用stop,或者onResume/onPause分别调用start和stop方法。

MainActivity:

package com.android.android_baidu_demo;import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.GeoPoint;import com.baidu.mapapi.MKGeneralListener;import com.baidu.mapapi.MapActivity;import com.baidu.mapapi.MapController;import com.baidu.mapapi.MapView;import android.os.Bundle;import android.widget.Toast;public class MainActivity extends MapActivity {//添加百度地图的相关控件private MapView mapView;//加载地图的引擎private BMapManager bMapManager;//百度地图的keyprivate String KeyString = "8C426377B3526B6BF3672C9BA3BB544D1E8289CD";//在百度地图上添加一些控件,比如是放大或者缩小的控件private MapController mapController;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);mapView = (MapView) this.findViewById(R.id.bmapView);bMapManager = new BMapManager(MainActivity.this    );//必须要加载keybMapManager.init(KeyString, new MKGeneralListener() {public void onGetPermissionState(int arg0) {if(arg0==300){Toast.makeText(MainActivity.this, "输入的key有错,请核实!!", 1).show();}}public void onGetNetworkState(int arg0) {}});this.initMapActivity(bMapManager);//表示可以设置缩放功能mapView.setBuiltInZoomControls(true);mapController = mapView.getController();//需要定义一个经纬度:北京天安门GeoPoint geoPoint = new GeoPoint((int)(39.915*1E6),(int)(116.404*1E6));mapController.setCenter(geoPoint);//设置一个中心点mapController.setZoom(12);//设置缩放级别是12级别}@Overrideprotected void onDestroy() {super.onDestroy();if(bMapManager!=null){bMapManager.destroy();bMapManager = null;}}@Overrideprotected void onResume() {super.onResume();if(bMapManager!=null){bMapManager.start();}}@Overrideprotected void onPause() {// TODO Auto-generated method stubsuper.onPause();if(bMapManager!=null){bMapManager.stop();}}@Overrideprotected boolean isRouteDisplayed() {// TODO Auto-generated method stubreturn false;}}

 

 

 

 

 


<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击