会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 57自学网———旗下安卓自学网站专注Android系统开发教程!
当前位置:主页 > 第三方集成 > 百度地图集成 > 正文

Android开发集成百度地图接口 获取API Key

时间:2016-02-29 16:52 来源:网络整理 作者:安卓自学网 阅读:
用户在使用API之前需要获取百度地图移动版API Key,并且该KEY与您引用API的程序名称有关,具体流程请参照:申请API KEY

百度地图API支持Android 1.5及以上系统。

<1>API添加到Andoid工程中

必须显得下载API开发包:点击下载

解压之后包括两个文件baidumapapi.jar和libBMapApiEngine.so。在工程根目录下创建ibs\armeabi目录,并拷贝到其目录下。

在工程属性->Java Build Path->Libraries中选择“Add JARs”,选定baidumapapi.jar,确定后返回,这样您就可以在您的程序中使用API了。

<2>在Manifest中添加使用权限

这不很多人会忘记的,以定要注意。

<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>
<3> 在Manifest中添加Android版本支持 <supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:resizeable="true" android:anyDensity="true"/> <uses-sdk android:minSdkVersion="3"></uses-sdk>
<4> 让创建的地图Activity继承com.baidu.mapapi.MapActivity, 并import相关类

代码里的import相关类有些可能用不着,这的取决你的功能。

你可以不用导入这些,用那个再import("alt+/"快捷键)

import java.util.ArrayList; import java.util.List; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Point; import android.graphics.drawable.Drawable; import android.location.Location; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Toast; import com.baidu.mapapi.BMapManager; import com.baidu.mapapi.GeoPoint; import com.baidu.mapapi.ItemizedOverlay; import com.baidu.mapapi.LocationListener; import com.baidu.mapapi.MKAddrInfo; import com.baidu.mapapi.MKDrivingRouteResult; import com.baidu.mapapi.MKGeneralListener; import com.baidu.mapapi.MKLocationManager; import com.baidu.mapapi.MKPlanNode; import com.baidu.mapapi.MKPoiResult; import com.baidu.mapapi.MKSearch; import com.baidu.mapapi.MKSearchListener; import com.baidu.mapapi.MKTransitRouteResult; import com.baidu.mapapi.MKWalkingRouteResult; import com.baidu.mapapi.MapActivity; import com.baidu.mapapi.MapController; import com.baidu.mapapi.MapView; import com.baidu.mapapi.MyLocationOverlay; import com.baidu.mapapi.Overlay; import com.baidu.mapapi.OverlayItem; import com.baidu.mapapi.PoiOverlay; import com.baidu.mapapi.RouteOverlay; import com.baidu.mapapi.TransitOverlay; public class MyMapActivity extends MapActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override protected boolean isRouteDisplayed() { return false; } } <5> 在布局xml中添加地图控件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <com.baidu.mapapi.MapView android:id="@+id/bmapsView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" /> </LinearLayout>
<6> 始化地图Activity, 在地图Activity中定义变量: BMapManager  mapManager  = null; 在onCreate方法中增加以下代码,并将您申请的Key替换“我的Key”:
mapManager = new BMapManager(getApplication()); mapManager.init(key, null); super.initMapActivity(mapManager); MapView mapView = (MapView) findViewById(R.id.mapsView); mapView.setBuiltInZoomControls(true); //设置启用内置的缩放控件 MapController mapController = mapView.getController(); // 得到mMapView的控制权,可以用它控制和驱动平移和缩放 GeoPoint point = new GeoPoint((int) (39.915 * 1E6), (int) (116.404 * 1E6)); //用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6) mapController.setCenter(point); //设置地图中心点 mapController.setZoom(12); //设置地图zoom级别

Override以下方法,管理API:
@Override protected void onDestroy() { if (mapManager != null) { mapManager.destroy(); mapManager = null; } super.onDestroy(); } @Override protected void onPause() { if (mapManager != null) { mapManager.stop(); } super.onPause(); } @Override protected void onResume() { if (mapManager != null) { mapManager.start(); } super.onResume(); }

\

(责任编辑:www.57zxw.com)

顶一下
(0)
0%
踩一下
(0)
0%