展会信息港展会大全

Android开发集成百度地图接口 获取API Key
来源:互联网   发布日期:2015-09-24 20:16:22   浏览:1519次  

导读:用户在使用API之前需要获取百度地图移动版API Key,并且该KEY与您引用API的程序名称有关,具体流程请参照:申请API KEY百度地图API支持Android 1.5及以上系统。1API添加到Andoid工程中必须显得下载API开发包......

用户在使用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="http://schemas.android.com/apk/res/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();

}

\

赞助本站

人工智能实验室

相关热词: API Key 百度地图 接口

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港