當前位置:首頁 » 安卓系統 » android百度地圖api

android百度地圖api

發布時間: 2023-02-06 01:13:38

⑴ 如何使用Android調用百度地圖API

1、調用網路地圖API首先要申請一個秘鑰,進入http://lbsyun..com/用網路賬號登陸,進入頁面申請秘鑰(具體所填信息以網站為准)

網路地圖擁有龐大的地圖相關功能,詳細內容請參照官網(http://lbsyun..com/index.php?title=androidsdk ) 中的開發指南。

⑵ 如何在Android應用中使用百度地圖api

在Android應用中使用網路地圖api的方法:

1)下載網路地圖移動版API(Android)開發包
要在Android應用中使用網路地圖API,就需要在工程中引用網路地圖API開發包,這個開發包包含兩個文件:mapapi.jar和libBMapApiEngine.so。下載地址:http://dev..com/wiki/static/imap/files/BaiMapApi_Lib_Android_1.0.zip

2)申請API Key
和使用Google map api一樣,在使用網路地圖API之前也需要獲取相應的API Key。網路地圖API Key與你的網路賬戶相關聯,因此您必須先有網路帳戶,才能獲得API Key;並且,該Key與您引用API的程序名稱有關。
網路API Key的申請要比Google的簡單多了,其實只要你有網路帳號,應該不超過30秒就能完成API Key的申請。申請地址:http://dev..com/wiki/static/imap/key/

3)創建一個Android工程
這里需要強調一點:網路地圖移動版api支持Android 1.5及以上系統,因此我們創建的工程應基於Android SDK 1.5及以上。
工程創建完成後,將mapapi.jar和libBMapApiEngine.so分別拷貝到工程的根目錄及libs/armeabi目錄下,並在工程屬性->javaBuild Path->Libraries中選擇「Add JARs」,選定mapapi.jar,這樣就可以在應用中使用網路地圖API了。工程完整的目錄結構如下圖所示:

[xhtml]viewplain
<?xmlversion="1.0"encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.liufeng.map"
android:versionCode="1"
android:versionName="1.0">
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
<activityandroid:name=".MainActivity"android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>

<uses-sdkandroid:minSdkVersion="4"/>
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>
</manifest>

⑶ 如何使用Android調用百度地圖API

1.先來看看java代碼,MainActivity.class參考代碼如下:
1 public class MainActivity extends MapActivity {
2 // 初始位置設置為西安
3 private double userLongitude = 34.341568 * 1E6;// 緯度
4 private double userLatitude = 108.94017499999995 * 1E6;// 經度
5 // 添加網路相關控制項
6 private MapView mapView;
7 private BMapManager bMapManager;// 載入地圖的引擎
8 // 網路地圖上的key值
9 private String keyString = "";
10 // 在網路地圖上添加一些控制項,例如放大、縮小
11 private MapController mapController;
12 private MKLocationManager mLocationManager;
13
14 @Override
15 public void onCreate(Bundle savedInstanceState) {
16 super.onCreate(savedInstanceState);
17 setContentView(R.layout.activity_main);
18 // 實例化控制項
19 mapView = (MapView) this.findViewById(R.id.bmapView);
20 bMapManager = new BMapManager(MainActivity.this);
21 // 必須要載入key
22 bMapManager.init(keyString, new MKGeneralListener() {
23 // key值不正確
24 @Override
25 public void onGetPermissionState(int arg0) {
26 if (arg0 == 300) {
27 Toast.makeText(MainActivity.this, R.string.key_error,Toast.LENGTH_LONG).show();
28 }
29 }
30 //網路出錯
31 @Override
32 public void onGetNetworkState(int arg0) {
33 Toast.makeText(MainActivity.this, R.string.net_error,Toast.LENGTH_LONG).show();
34 }
35 });
36 this.initMapActivity(bMapManager);
37 mapView.setBuiltInZoomControls(true);// 表示可以設置縮放功能
38 mapController = mapView.getController();
39 // 初始化Location模塊
40 mLocationManager = bMapManager.getLocationManager();
41 // 通過enableProvider和disableProvider方法,選擇定位的Provider
42 mLocationManager.enableProvider(MKLocationManager.MK_NETWORK_PROVIDER);
43 mLocationManager.disableProvider(MKLocationManager.MK_GPS_PROVIDER);
44 //返回手機位置
45 mLocationManager.requestLocationUpdates(locationListener);
46 mLocationManager.setNotifyInternal(5, 2);
47 // 添加定點陣圖層
48 MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this,mapView);
49 myLocationOverlay.enableMyLocation(); // 啟用定位
50 myLocationOverlay.enableCompass(); // 啟用指南針
51 mapView.getOverlays().add(myLocationOverlay);
52 mapView.setTraffic(true);// 交通地圖
53 // mapView.setSatellite(true);// 衛星地圖
54 mapController.setZoom(15);// 設置縮放級別
55 mapView.invalidate();// 刷新地圖
56 }
57 //獲取經度緯度
58 private LocationListener locationListener = new LocationListener() {
59 @Override
60 public void onLocationChanged(Location location) {
61 if (location != null) {
62 userLatitude = location.getLatitude() * 1E6;
63 userLongitude = location.getLongitude() * 1E6;
64 GeoPoint mypoint = new GeoPoint((int)(userLatitude), (int)(userLongitude));
65 mapView.getController().animateTo(mypoint);
66 }
67 }
68 };
69 // 銷毀
70 @Override
71 protected void onDestroy() {
72 super.onDestroy();
73 if (bMapManager != null) {
74 bMapManager.destroy();
75 bMapManager = null;
76 }
77 }
78 // 停止
79 @Override
80 protected void onPause() {
81 super.onPause();
82 if (bMapManager != null) {
83 mLocationManager.removeUpdates(locationListener);
84 bMapManager.stop();
85 }
86 }
87 // 重啟
88 @Override
89 protected void onResume() {
90 super.onResume();
91 if (bMapManager != null) {
92 bMapManager.start();
93 }
94 }
95 //
96 @Override
97 protected boolean isRouteDisplayed() {
98 return false;
99 }
100
101
102 // Menu
103 // 當點擊Menu按鈕時,調用該方法
104 @Override
105 public boolean onCreateOptionsMenu(Menu menu) {
106 menu.add(0, 1, 1, R.string.exit).setIcon(
107 android.R.drawable.ic_menu_close_clear_cancel);
108 return super.onCreateOptionsMenu(menu);
109 }
110 @Override
111 public boolean onContextItemSelected(MenuItem item) { // 選中某個菜單項
112 if (item.getItemId() == 1) {
113 MainActivity.this.finish();
114 }
115 return super.onOptionsItemSelected(item);
116 }
117 // 返回鍵
118 @Override
119 public boolean onKeyDown(int keyCode, KeyEvent event) {
120 if (keyCode == KeyEvent.KEYCODE_BACK) {
121 finish();
122 }
123 return super.onKeyDown(keyCode, event);
124 }
125 }
126
2.布局文件,主要是添加顯示地圖的控制項,activity_mainmain.xml參考代碼如下:
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent" >
5 <!-- 添加顯示網路地圖的控制項 -->
6 <com..mapapi.MapView
7 android:id="@+id/bmapView"
8 android:layout_width="fill_parent"
9 android:layout_height="fill_parent"
10 android:clickable="true"
11 tools:context=".MainActivity" />
12 </LinearLayout>
3.設置配置文件,AndroidManifest.xml參考代碼如下:
1 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2 package="yu.hong.map"
3 android:versionCode="1"
4 android:versionName="1.0" >
5 <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="15" />
6 <!--添加網路地圖開發授權 -->
7 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
8 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
9 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
10 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
11 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
12 <uses-permission android:name="android.permission.INTERNET" />
13 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
14 <!--添加對屏幕的支持 -->
15 <supports-screens
16 android:anyDensity="true"
17 android:largeScreens="true"
18 android:normalScreens="true"
19 android:resizeable="true"
20 android:smallScreens="true" />
21 <application
22 android:icon="@drawable/ic_maplauncher"
23 android:label="@string/app_name"
24 android:theme="@style/AppTheme" >
25 <activity
26 android:name=".MainActivity"
27 android:label="@string/title_activity_main" >
28 <intent-filter>
29 <action android:name="android.intent.action.MAIN" />
30 <category android:name="android.intent.category.LAUNCHER" />
31 </intent-filter>
32 </activity>
33 </application>
34 </manifest>

⑷ 如何使用Android調用百度地圖API

關鍵字:android,網路地圖,android網路地圖開發,android實時定位
在Android開發中有一個非常重要的應用就是實時定位,通過手機在手機地圖上進行實時定位,定位當前手機的位置,這個功能我們一般都可以用網路地圖或者谷歌地圖的api來實現,這些api代碼要在網路或者谷歌的官網上下載,這里不再多說,本文以代碼實例的方式展示如何使用網路地圖的api,安卓開發者可以直接復制本文示例代碼到項目中進行測試,本文僅僅是使用網路地圖api的核心代碼,如果要使用可能需要進行相關修改,具體參考代碼請參看下文:
1.先來看看java代碼,MainActivity.class參考代碼如下:
1 public class MainActivity extends MapActivity {
2 // 初始位置設置為西安
3 private double userLongitude = 34.341568 * 1E6;// 緯度
4 private double userLatitude = 108.94017499999995 * 1E6;// 經度
5 // 添加網路相關控制項
6 private MapView mapView;
7 private BMapManager bMapManager;// 載入地圖的引擎
8 // 網路地圖上的key值
9 private String keyString = "";
10 // 在網路地圖上添加一些控制項,例如放大、縮小
11 private MapController mapController;
12 private MKLocationManager mLocationManager;
13
14 @Override
15 public void onCreate(Bundle savedInstanceState) {
16 super.onCreate(savedInstanceState);
17 setContentView(R.layout.activity_main);
18 // 實例化控制項
19 mapView = (MapView) this.findViewById(R.id.bmapView);
20 bMapManager = new BMapManager(MainActivity.this);
21 // 必須要載入key
22 bMapManager.init(keyString, new MKGeneralListener() {
23 // key值不正確
24 @Override
25 public void onGetPermissionState(int arg0) {
26 if (arg0 == 300) {
27 Toast.makeText(MainActivity.this, R.string.key_error,Toast.LENGTH_LONG).show();
28 }
29 }
30 //網路出錯
31 @Override
32 public void onGetNetworkState(int arg0) {
33 Toast.makeText(MainActivity.this, R.string.net_error,Toast.LENGTH_LONG).show();
34 }
35 });
36 this.initMapActivity(bMapManager);
37 mapView.setBuiltInZoomControls(true);// 表示可以設置縮放功能
38 mapController = mapView.getController();
39 // 初始化Location模塊
40 mLocationManager = bMapManager.getLocationManager();
41 // 通過enableProvider和disableProvider方法,選擇定位的Provider
42 mLocationManager.enableProvider(MKLocationManager.MK_NETWORK_PROVIDER);
43 mLocationManager.disableProvider(MKLocationManager.MK_GPS_PROVIDER);
44 //返回手機位置
45 mLocationManager.requestLocationUpdates(locationListener);
46 mLocationManager.setNotifyInternal(5, 2);
47 // 添加定點陣圖層
48 MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this,mapView);
49 myLocationOverlay.enableMyLocation(); // 啟用定位
50 myLocationOverlay.enableCompass(); // 啟用指南針
51 mapView.getOverlays().add(myLocationOverlay);
52 mapView.setTraffic(true);// 交通地圖
53 // mapView.setSatellite(true);// 衛星地圖
54 mapController.setZoom(15);// 設置縮放級別
55 mapView.invalidate();// 刷新地圖
56 }
57 //獲取經度緯度
58 private LocationListener locationListener = new LocationListener() {
59 @Override
60 public void onLocationChanged(Location location) {
61 if (location != null) {
62 userLatitude = location.getLatitude() * 1E6;
63 userLongitude = location.getLongitude() * 1E6;
64 GeoPoint mypoint = new GeoPoint((int)(userLatitude), (int)(userLongitude));
65 mapView.getController().animateTo(mypoint);
66 }
67 }
68 };
69 // 銷毀
70 @Override
71 protected void onDestroy() {
72 super.onDestroy();
73 if (bMapManager != null) {
74 bMapManager.destroy();
75 bMapManager = null;
76 }
77 }
78 // 停止
79 @Override
80 protected void onPause() {
81 super.onPause();
82 if (bMapManager != null) {
83 mLocationManager.removeUpdates(locationListener);
84 bMapManager.stop();
85 }
86 }
87 // 重啟
88 @Override
89 protected void onResume() {
90 super.onResume();
91 if (bMapManager != null) {
92 bMapManager.start();
93 }
94 }
95 //
96 @Override
97 protected boolean isRouteDisplayed() {
98 return false;
99 }
100
101
102 // Menu
103 // 當點擊Menu按鈕時,調用該方法
104 @Override
105 public boolean onCreateOptionsMenu(Menu menu) {
106 menu.add(0, 1, 1, R.string.exit).setIcon(
107 android.R.drawable.ic_menu_close_clear_cancel);
108 return super.onCreateOptionsMenu(menu);
109 }
110 @Override
111 public boolean onContextItemSelected(MenuItem item) { // 選中某個菜單項
112 if (item.getItemId() == 1) {
113 MainActivity.this.finish();
114 }
115 return super.onOptionsItemSelected(item);
116 }
117 // 返回鍵
118 @Override
119 public boolean onKeyDown(int keyCode, KeyEvent event) {
120 if (keyCode == KeyEvent.KEYCODE_BACK) {
121 finish();
122 }
123 return super.onKeyDown(keyCode, event);
124 }
125 }
126
2.布局文件,主要是添加顯示地圖的控制項,activity_mainmain.xml參考代碼如下:
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent" >
5 <!-- 添加顯示網路地圖的控制項 -->
6 <com..mapapi.MapView
7 android:id="@+id/bmapView"
8 android:layout_width="fill_parent"
9 android:layout_height="fill_parent"
10 android:clickable="true"
11 tools:context=".MainActivity" />
12 </LinearLayout>
3.設置配置文件,AndroidManifest.xml參考代碼如下:
1 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2 package="yu.hong.map"
3 android:versionCode="1"
4 android:versionName="1.0" >
5 <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="15" />
6 <!--添加網路地圖開發授權 -->
7 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
8 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
9 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
10 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
11 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
12 <uses-permission android:name="android.permission.INTERNET" />
13 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
14 <!--添加對屏幕的支持 -->
15 <supports-screens
16 android:anyDensity="true"
17 android:largeScreens="true"
18 android:normalScreens="true"
19 android:resizeable="true"
20 android:smallScreens="true" />
21 <application
22 android:icon="@drawable/ic_maplauncher"
23 android:label="@string/app_name"
24 android:theme="@style/AppTheme" >
25 <activity
26 android:name=".MainActivity"
27 android:label="@string/title_activity_main" >
28 <intent-filter>
29 <action android:name="android.intent.action.MAIN" />
30 <category android:name="android.intent.category.LAUNCHER" />
31 </intent-filter>
32 </activity>
33 </application>
34 </manifest>
感謝閱讀本文,安卓開發者可以在本文基礎上進行擴展,

⑸ 如何使用Android調用百度地圖API

工具/原料

筆記本電腦或台式機
互聯網
谷歌瀏覽器等主流瀏覽器
網路地圖API
方法/步驟

在網路搜索引擎中搜索關鍵詞「網路地圖API」 。

訪問網路地圖API官方網站 。

本經驗案例以web開發為為例,所以選擇Javascript API。
網路地圖JavaScript API是一套由JavaScript語言編寫的應用程序介面,可幫助您在網站中構建功能豐富、交互性強的地圖應用,支持PC端和移動端基於瀏覽器的地圖應用開發,且支持HTML5特性的地圖開發。另外,2014年1月9日,極速版JavaScript API全新上線,此版本專門針對簡單功能的移動端瀏覽器開發提供。
該套API免費對外開放。自v1.5版本起,您需先申請密鑰(ak)才可使用,介面(除發送簡訊功能外)無使用次數限制。

Javascript API有3種,這里選擇Javascript API大眾版,。

申請網路地圖密鑰 。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微軟雅黑";}
</style>
<script type="text/javascript" src="htt /api.map.com/api?v=2.0&ak=您的密鑰"></script>
<title>地圖展示</title>
</head>
<body>
<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
// 網路地圖API功能
var map = new BMap.Map("allmap"); // 創建Map實例
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 初始化地圖,設置中心點坐標和地圖級別
map.addControl(new BMap.MapTypeControl()); //添加地圖類型控制項
map.setCurrentCity("北京"); // 設置地圖顯示的城市 此項是必須設置的
map.enableScrollWheelZoom(true); //開啟滑鼠滾輪縮放
</script>

⑹ 如何使用Android調用百度地圖API

  • 步驟

    1. 下載網路地圖移動版API(Android)開發包


      網址:http://lbsyun..com/(選擇android開發)

⑺ 如何使用Android調用百度地圖API

  1. 下載網路地圖移動版API(Android)開發包
    要在Android應用中使用網路地圖API,就需要在工程中引用網路地圖API開發包,這個開發包包含兩個文件:mapapi.jar和libBMapApiEngine.so。

  2. 申請API Key
    和使用Google map api一樣,在使用網路地圖API之前也需要獲取相應的API Key。網路地圖API Key與你的網路賬戶相關聯,因此您必須先有網路帳戶,才能獲得API Key;並且,該Key與您引用API的程序名稱有關。
    網路API Key的申請要比Google的簡單多了,其實只要你有網路帳號,應該不超過30秒就能完成API Key的申請。

  3. 在布局文件中添加地圖控制項(res/layout/main.xml)

  4. 創建Activity繼承com..mapapi.MapActivity

  5. 在AndroidManifest.xml中配置

  6. 運行結果

    總結:上面的應用只是簡單的展示了網路地圖(交通地圖),並將一個指定的點(根據經緯度確定)展示在手機屏幕的中心。當然,實際項目中涉及的map應用不會這么簡單,網路地圖API為我們提供了豐富的功能介面,有待我們一起去研究學習。

熱點內容
光遇無翼號怎麼弄安卓 發布:2025-07-15 10:45:59 瀏覽:365
什麼是法人賬號密碼 發布:2025-07-15 10:34:59 瀏覽:876
編程題抽獎 發布:2025-07-15 10:34:00 瀏覽:629
linux手動編譯的內核怎麼刪 發布:2025-07-15 10:31:56 瀏覽:96
存儲行業發展趨勢 發布:2025-07-15 10:25:22 瀏覽:243
怎麼刪除配置提示 發布:2025-07-15 10:21:27 瀏覽:246
java深入學習 發布:2025-07-15 10:13:50 瀏覽:535
linux應用程序開發pdf 發布:2025-07-15 10:11:37 瀏覽:912
解壓冷知識 發布:2025-07-15 10:11:35 瀏覽:79
outlook郵件的伺服器是什麼 發布:2025-07-15 09:45:59 瀏覽:483