日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

android应用 百度地图,Android学习之百度地图API的应用(一)

發布時間:2024/9/19 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android应用 百度地图,Android学习之百度地图API的应用(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

現在的地圖API很多,我就從百度地圖開始了,為了方面自己以后回顧,我會把所有學到的東西記錄下來,下面是學習記錄:

要使用百度地圖首先得申請一個KEY,可以到這里申請(需要注冊一個百度賬號),申請完之后將從官方下載的Lib導入自己的項目,我導入兩個jar包:baidumapapi_v2_1_2.jar、locSDK_3.1.jar、armeabi文件夾

申請key點擊:http://developer.baidu.com/map/android-mobile-apply-key.htm

百度地圖有三大核心類:

(一)BMapManger:獲取地圖引擎的管理類

(二)MapView :你所能看到的View

(三)MapController :用來對MapView進行一些操作,如放大,縮小等。。。

首先上效果圖,然后是demo的代碼,注釋寫在代碼中

MainActivity.java

public class MainActivity extends Activity {

private BMapManager manager;

private MapView mapView;

private MapController controller;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 驗證key

checkKey();

setContentView(R.layout.activity_main);

initView();

}

private void initView() {

mapView = (MapView) findViewById(R.id.mapView);

//添加放大和縮小按鈕

mapView.setBuiltInZoomControls(true);

controller = mapView.getController();

//設置縮放級別[3-19]

controller.setZoom(12);

}

private void checkKey() {

manager = new BMapManager(getApplicationContext());

manager.init(ConstantValue.KEY, new MKGeneralListener() {

// 驗證網絡后回調

@Override

public void onGetNetworkState(int iError) {

if (iError == MKEvent.ERROR_PERMISSION_DENIED) {

// 驗證失敗

}

}

// 驗證key后回調

@Override

public void onGetPermissionState(int iError) {

if (iError == MKEvent.ERROR_NETWORK_CONNECT) {

// 網絡連接異常

}

}

});

}

@Override

protected void onDestroy() {

mapView.destroy();

super.onDestroy();

}

@Override

protected void onPause() {

mapView.onPause();

super.onPause();

}

@Override

protected void onResume() {

mapView.onResume();

super.onResume();

}

}這里有兩點要說明下:

1.key的驗證要在View視圖初始化之前,因為view視圖中包含百度的MapView控件,如果順序倒了,則會報異常。

2.onDestroy()、onPause()、onResume()調用者三個方法是為了讓mapView跟Activity進行綁定,因為一些bug的原因,如果不綁定他們倆的生命周期,則在按返回鍵,重新回到地圖上的時候,地圖的顯示會異常,大家可以試著把三個方法注釋掉看看效果。

下面順便貼上布局代碼:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:id="@+id/mapView"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

Demo源碼不上傳了,順便把需要的權限貼上了:

一些常用的功能:

int latitude = (int) (39.929 * 1E6);// 緯度

int longtitude = (int) (116.397 * 1E6);// 經度

private GeoPoint geoPoint = new GeoPoint(latitude, longtitude);

controller.setCenter(geoPoint);// 設置中心點

// controller.animateTo(geoPoint);// 平移

// controller.zoomIn();// 放大一級

// controller.zoomOut();// 縮小一級

// int mapRotation = mapView.getMapRotation();//獲取旋轉前的角度

// mapRotation += 30; //范圍[0,360]

// controller.setRotation(mapRotation);

初識百度地圖API的代碼先到著,接著繼續學習它的其他有趣的API

啟動另外的一個應用程序的Activity(三種方式)

第一種(我自己寫的):之前在網上看來一些,很多不是我要的可以啟動另外一個應用程序的主Activity.//這些代碼是啟動另外的一個應用程序的主Activity

反編譯APK文件的方法

步驟一:下載所需的工具,一共三個:三個工具打包下載地址:http://download.csdn.net/detail/vipzjyno1/7025729;工具介紹:1、apktool:可以提取出所用圖片和布

Android打造通用的下拉刷新組件

還記得上一篇blog的內容嗎?如果不記得建議先去了解一下,Android事件處理全面剖析,因為下拉刷新需要用到手勢的處理,而上一篇文章中,對事件處理

總結

以上是生活随笔為你收集整理的android应用 百度地图,Android学习之百度地图API的应用(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。