android开发百度地图,安卓百度地图app下载

android 开发 百度地图

你好:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、虚拟空间、营销软件、网站建设、潍坊网站维护、网站推广。

首先到百度地图API,看你需要android开发的类型,

可以选择这4个:Android地图SDK Android定位SDK Android导航SDK Android全景SDK;

你看需要的是哪一个,点进去,然后会看到开发指南,第一步申请对应的key,

然后下载API对应的demo,把lib都引进去,照着demo做,demo没有的就查看对应组件的类参考,

做一次就很容易了

如何使用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 = "01331AFA954E7E300428A5F0C9C829E0E16F87A3";

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=""

2 xmlns:tools=""

3 android:layout_width="match_parent"

4 android:layout_height="match_parent"

5 !-- 添加显示百度地图的控件 --

6 com.baidu.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=""

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怎么引入百度地图

首先需要在百度地图开发平台上下载所需要的文档和功能,由于最新版的3.0.0的不是很熟悉,我这里用的是稍旧一点的版本:2.4.1版的;这里是下载地址:。我是在这个页面的右下角点击历史版本下载的2.4.1版的:

下载之后它里面有这样一个压缩文件:

解压开之后是这样的三个压缩包:

其中Sample是它的Demo,解压开之后是这样的:

打开之后里面是各种各样功能的demo;

工程配置

第一步:将开发包里的lib文件夹整个拷贝,然后粘贴到你的项目文件夹下,覆盖原有的文件,然后是这样的:

第二步:在工程属性-Java Build Path-Libraries中选择“Add External JARs”,选定baidumapapi_v2_4_1.jar,确定后返回。

通过以上两步操作后,您就可以正常使用百度地图SDK为您提供的全部功能了。

注意:由于adt插件升级,若您使用Eclipse adt 22的话,需要对开发环境进行相应的设置,方法如下:

1. 在Eclipse 中选中工程,右键选 Properties-Java Build Path-Order and Export 使 Android Private Libraries处于勾选状态;

2. Project - clean- clean all .

显示百度地图

百度地图SDK为开发者提供了便捷的显示百度地图数据的接口,通过以下几步操作,即可在您的应用中使用百度地图数据:

第一步:创建并配置工程(具体方法参见工程配置部分的介绍);

第二步:在AndroidManifest中添加开发密钥、所需权限等信息;

(1)在application中添加开发密钥

application

meta-data

android:name="com.baidu.lbsapi.API_KEY"

android:value="开发者 key" /

/application

(2)添加所需权限

uses-permission android:name="android.permission.GET_ACCOUNTS" /

uses-permission android:name="android.permission.USE_CREDENTIALS" /

uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /

uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /

uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /

uses-permission android:name="android.permission.INTERNET" /

uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /

uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /

uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /

uses-permission android:name="android.permission.READ_PHONE_STATE" /

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /

uses-permission android:name="android.permission.BROADCAST_STICKY" /

uses-permission android:name="android.permission.WRITE_SETTINGS" /

uses-permission android:name="android.permission.READ_PHONE_STATE" /

第三步,在布局xml文件中添加地图控件;

com.baidu.mapapi.map.MapView

android:id="@+id/bmapView"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:clickable="true" /

第四步,加载配置项:

package com.example.mybaidumap;

import com.baidu.mapapi.BMapManager;

import com.baidu.mapapi.MKGeneralListener;

import com.baidu.mapapi.map.MapController;

import com.baidu.mapapi.map.MapView;

import com.baidu.platform.comapi.basestruct.GeoPoint;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

public class MainActivity extends Activity implements MKGeneralListener{

private BMapManager mBMapMan = null;

private MapView mMapView = null;

private MapController mMapController = null;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

mBMapMan = new BMapManager(getApplication());

mBMapMan.init(this);

setContentView(R.layout.activity_main);

// 获取地图控件引用

mMapView = (MapView) findViewById(R.id.bmapView);

mMapView.setBuiltInZoomControls(true);//设置缩放

}

@Override

protected void onDestroy() {

super.onDestroy();

// 在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理

mMapView.destroy();

}

@Override

protected void onResume() {

super.onResume();

// 在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理

mMapView.onResume();

}

@Override

protected void onPause() {

super.onPause();

// 在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理

mMapView.onPause();

}

@Override

public void onGetNetworkState(int arg0) {

// TODO Auto-generated method stub

}

@Override

public void onGetPermissionState(int arg0) {

// TODO Auto-generated method stub

}

}

最后一步:运行你的app就可以看到百度地图了。

如何在Android应用中使用百度地图api

百度地图

开发者中心有详细的开发指南,这里列出一个大概的步骤:

登录百度地图开发者中心官网,进入

api

控制台

创建一个

android

sdk

应用

下载开发包,把下载的所有lib

放入自己项目

在 androidmanifest

中配置

百度地图

密钥和权限,在程序启动的时候初始化

sdk(sdkinitializer.initialize(getapplicationcontext());

在自己的布局文件中添加布局控件

注意一些问题,如果地图只显示白色格子可能是密钥配置不正确,另外下载的lib不要重复

android百度地图怎么开发

一、基本概念:

(一)、百度地图:

百度地图 Android SDK是一套基于Android 2.1及以上版本设备的应用程序接口。 您可以使用该套 SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,您可以轻松访问百度地图服务和数据, 构建功能丰富、交互性强的地图类应用程序。

百度地图Android SDK提供的所有服务是免费的,接口使用无次数限制。您需申请密钥(key)后, 才可使用百度地图Android SDK。

(二)、LBS:(Location based Service)基于位置的服务

基于位置的服务,它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在地理信息系统(外语缩写:GIS、外语全称:Geographic Information System)平台的支持下,为用户提供相应服务的一种增值业务。

二、百度地图使用步骤:【参照()】

(一)、HelloBaiduMap:

1、第一步:申请百度地图密钥(API_KEY):

2、第二步:在工程里新建libs文件夹,将开发包里的baidumapapi_vX_X_X.jar拷贝到libs根目录下,将libBaiduMapSDK_vX_X_X.so拷贝到libs\armeabi目录下(官网demo里已有这两个文件,如果要集成到自己的工程里,就需要自己添加),拷贝完成后的工程目录如下图所示;

注:liblocSDK3.so和locSDK_3.1.jar为百度定位SDK所使用资源,开发者可根据实际需求自行添加。

3、第三步:在AndroidManifest中添加开发密钥、所需权限等信息;

application

meta-data

android:name="com.baidu.lbsapi.API_KEY"

android:value="P3G69b5s87YG5M31f8A7oyLW"/

/application

uses-permissionandroid:name="android.permission.GET_ACCOUNTS"/

uses-permissionandroid:name="android.permission.USE_CREDENTIALS"/

uses-permissionandroid:name="android.permission.MANAGE_ACCOUNTS"/

uses-permissionandroid:name="android.permission.AUTHENTICATE_ACCOUNTS"/

uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/

uses-permissionandroid:name="android.permission.INTERNET"/

uses-permissionandroid:name="com.android.launcher.permission.READ_SETTINGS"/

uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"/

uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/

uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/

uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/

uses-permissionandroid:name="android.permission.BROADCAST_STICKY"/

uses-permissionandroid:name="android.permission.WRITE_SETTINGS"/

uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/

4、第四步:在布局文件中添加地图控件:

com.baidu.mapapi.map.MapView

android:id="@+id/mapView"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:clickable="true"/

5、第五步:在应用程序创建时初始化 SDK引用的Context 全局变量:

protectedvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 在使用SDK各组件之前初始化context信息,传入ApplicationContext

// 注意该方法要再setContentView方法之前实现

SDKInitializer.initialize(getApplicationContext());

// 装载布局文件

setContentView(R.layout.activity_main);

}

6、第六步:创建地图Activity,管理地图生命周期:

publicclass MainActivity extends Activity {

private MapView mapView;

@Override

protectedvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 在使用SDK各组件之前初始化context信息,传入ApplicationContext

// 注意该方法要再setContentView方法之前实现

SDKInitializer.initialize(getApplicationContext());

// 装载布局文件

setContentView(R.layout.activity_main);

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

}

@Override

protectedvoid onResume() {

super.onResume();

mapView.onResume();

}

@Override

protectedvoid onPause() {

super.onPause();

mapView.onPause();

}

@Override

protectedvoid onDestroy() {

super.onDestroy();

mapView.onDestroy();

}

}

(二)、基础地图:

1、实现基础地图的操作步骤:

布局文件中使用MapView;

初始化SDK,并检查Key的合法性;

SDKInitializer.initialize(getApplicationContext());

checkKEY();

初始化BaiduMap对象;

对MapView进行findViewById();

MapView对象调用getMap(),返回BaiduMap;

设置BaiduMap;

setMapType();

setTrafficEnabled();

(三)、POI搜索:

1、实现POI搜索的操作步骤:

布局文件中使用fragment,用来实现对BaiduMap的加载;

class="com.baidu.mapapi.map.SupportMapFragment"

当前Activity继承于FragementActivity;

初始化SDK,并检查Key的合法性;

SDKInitializer.initialize(getApplicationContext());

checkKEY();

备注:该两句话必须放在setContentView()之前。

初始化BaiduMap对象;

baiduMap = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.fragment_poi_map)).getBaiduMap();

初始化PoiSearch对象;

PoiSearch.newInstance();

给PoiSearch对象设置监听器;

setOnGetPoiSearchResultListener(),重写onGetPoiResult()方法;

自定义PoiOverlay类,实现对每个标记的单击监听;

通过onPoiClick()方法,获取每个PoiInfo中的信息。如果这个对象中包含有明细,可以打开一个新页面来展示兴趣点的详细介绍。

在AndroidManifest.xml文件中配置PlaceCaterActivity页面;

该页面是Baidu提供的POI的明细介绍页面。

PoiSearch对象调用searchInBound()、searchInCity() 、 searchNearby()方法实现兴趣点查询。

【总结:】核心步骤:

实例化BaiduMap,PoiSearch对象;

PoiSearch对象设置OnGetPoiSearchResultListener()监听;

PoiSearch对象调用searchInCity()方法触发监听。

(四)、线路规划:

1、实现路线规划的操作步骤:

布局文件中使用MapView,用来实现对BaiduMap的加载;

初始化SDK,并检查Key的合法性;

SDKInitializer.initialize(getApplicationContext());

checkKEY();

初始化MapView;

调用findViewById()

初始化BaiduMap对象;

baiduMap = MapView对象.getMap();

初始化RoutePlanSearch对象;

RoutePlanSearch.newInstance();

给RoutePlanSearch对象设置监听器;

setOnGetRoutePlanResultListener(),重写onGetWalkingRouteResult()、onGetTransitRouteResult()、onGetDrivingRouteResult()方法;

自定义三种RouteOverlay类(WalkingRouteOverlay、TransitRouteOverlay、DrivingRouteOvelray);

调用RoutePlanSearch对象的三种方法(drivingSearch()、transitSearch()、walkingSearch())实现路线规划。

【总结:】核心步骤:

实例化BaiduMap,RoutePlanSearch对象;

RoutePlanSearch对象设置OnGetRoutePlanResultListener监听;

RoutePlanSearch对象调用drivingSearch()、transitSearch()、walkingSearch()方法触发监听。

(五)、公交查询:

1、实现公交查询的操作步骤:

布局文件中使用fragment,用来实现对BaiduMap的加载;

class="com.baidu.mapapi.map.SupportMapFragment"

初始化SDK,并检查Key的合法性;

SDKInitializer.initialize(getApplicationContext());

checkKEY();

当前Activity继承于FragementActivity;

初始化BaiduMap对象;

baiduMap = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.fragment_poi_map)).getBaiduMap();

初始化PoiSearch对象/初始化BusLineSearch对象;

PoiSearch.newInstance();

BusLineSearch.newInstance();

给BusLineSearch对象设置监听器;

setOnGetBusLineSearchResultListener(),重写onGetBusLineResult()方法;

给PoiSearch对象设置监听器;

setOnGetPoiSearchResultListener(),重写onGetPoiResult()方法;

在这个监听器中调用BusLineSearch对象的searchBusLine()方法;

给按钮增加单击监听事件,实现PoiSearch对象的searchInBound()、searchInCity() 、 searchNearby()方法实现兴趣点查询。

【总结:】核心步骤:

实例化BaiduMap、PoiSearch对象及BusLineSearch对象;

PoiSearch对象设置OnGetPoiSearchResultListener()监听;BusLineSearch对象设置OnGetBusLineSearchResultListener监听;

在PoiSearch对象的监听回调方法onGetPoiResult()中调用busLineSearch对象的searchBusLine()方法;

PoiSearch对象调用searchInCity()方法触发整个监听。

【备注:】

整体思路:先调用POI查询,在POI查询中的监听器中执行BusLine查询。

如何在Android studio中添加百度地图服务

进入平台首页下载开发包,解压、提取libs文件夹下所有文件。包括jar文件和各平台的so文件。申请API key,如未能正确申请到……API key,则只能显示地图网格。具体方法是用百度账号登录……开放平台。通过sdk下的

.android\debug.keystore提取出SHA1密钥,然后获取百度API key。

按照官方提供的android studio环境配置……开发环境,不过,有一点需要纠正。

最后,按照官方给出的示例代码。就能在手机上显示基础地图了。


分享文章:android开发百度地图,安卓百度地图app下载
转载注明:http://scyanting.com/article/dscdscc.html