`
aaaaaa_asdf
  • 浏览: 5549 次
社区版块
存档分类
最新评论

Android应用使用百度地图API

阅读更多

本文来源:安卓博客

作者:小生、我怕怕

1)下载百度地图移动版API(Android)开发包
      要在Android应用中使用百度地图API,就需要在工程中引用百度地图API开发包,这个开发包包含两个文件:baidumapapi.jar和libBMapApiEngine.so。下载地址:http://dev.baidu.com/wiki/static/imap/files/BaiduMapApi_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.baidu.com/wiki/static/imap/key/

3)创建一个Android工程
      这里需要强调一点:百度地图移动版api支持Android 1.5及以上系统,因此我们创建的工程应基于Android SDK 1.5及以上。
      工程创建完成后,将baidumapapi.jar和libBMapApiEngine.so分别拷贝到工程的根目录及libs/armeabi目录下,并在工程属性->Java Build Path->Libraries中选择“Add JARs”,选定baidumapapi.jar,这样就可以在应用中使用百度地图API了。工程完整的目录结构如下图所示:

4)在布局文件中添加地图控件(res/layout/main.xml)

<?xmlversion="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"
    >
    <com.baidu.mapapi.MapView android:id="@+id/map_View"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true"
    />
</LinearLayout>

5)创建Activity继承com.baidu.mapapi.MapActivity

package com.liufeng.baidumap;

import android.graphics.drawable.Drawable;
import android.os.Bundle;

import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.GeoPoint;
import com.baidu.mapapi.MapActivity;
import com.baidu.mapapi.MapController;
import com.baidu.mapapi.MapView;

public class MainActivity extends MapActivity {
	private BMapManager mapManager;
	private MapView mapView;
	private MapController mapController;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		// 初始化MapActivity
		mapManager = new BMapManager(getApplication());
		// init方法的第一个参数需填入申请的API Key
		mapManager.init("285B415EBAB2A92293E85502150ADA7F03C777C4", null);
		super.initMapActivity(mapManager);

		mapView = (MapView) findViewById(R.id.map_View);
		// 设置地图模式为交通地图
		mapView.setTraffic(true);
		// 设置启用内置的缩放控件
		mapView.setBuiltInZoomControls(true);

		// 用给定的经纬度构造一个GeoPoint(纬度,经度)
		GeoPoint point = new GeoPoint((int) (47.118440 * 1E6), (int) (87.493147 * 1E6));

		// 创建标记maker
		Drawable marker = this.getResources().getDrawable(R.drawable.iconmarka);
		// 为maker定义位置和边界
		marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());

		// 取得地图控制器对象,用于控制MapView
		mapController = mapView.getController();
		// 设置地图的中心
		mapController.setCenter(point);
		// 设置地图默认的缩放级别
		mapController.setZoom(12);
	}

	@Override
	protected boolean isRouteDisplayed() {
		return false;
	}

	@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();
	}
}


6)在AndroidManifest.xml中配置


<?xmlversion="1.0"encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.liufeng.baidumap"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

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

7)运行结果

1
0
分享到:
评论

相关推荐

    利用百度地图API制作android地图应用

    在Android开发中,创建一款基于地图的应用是一项常见的需求,而百度地图API则为开发者提供了强大的地图功能支持。本文将深入探讨如何利用百度地图API来制作Android地图应用,以及实现地图上的位置搜索和周边信息显示...

    Android调用百度地图api

    本篇将详细讲解如何在Android应用中调用百度地图API,并实现自动定位、获取中心位置坐标以及标注地理信息等功能。 首先,我们需要在百度地图开放平台注册一个账号,创建应用并获取API密钥。这个API密钥是连接我们...

    android安卓app开发之使用百度地图API教程.zip

    在Android应用开发中,使用百度地图API是一项常见的需求,它能帮助开发者集成地图功能,实现定位、导航、路径规划等多种服务。本教程将详细介绍如何在Android应用中集成和使用百度地图API。 首先,我们需要了解百度...

    android百度地图api文档

    本文档将详细讲解如何利用百度地图API在Android应用中实现这些功能。 首先,我们需要在百度地图开放平台(http://lbsyun.baidu.com/)注册账号并创建应用,获取API密钥(AK)。这是使用百度地图服务的基础,每个...

    Android应用源码之百度地图API 之 定位周边搜索POI.zip

    通过这个源码,开发者可以学习如何在Android应用中集成百度地图API,实现定位和周边搜索功能,为用户提供方便的位置服务。同时,源码也展示了如何处理定位和搜索的异步操作,以及地图与UI的交互,对理解Android多...

    百度地图api_百度地图API_百度地图_

    百度地图API提供了JavaScript和Android/iOS SDK等多种方式来展示地图。通过JavaScript API,开发者可以在网页上动态加载地图,并可以设置地图的中心点、缩放级别,甚至切换地图样式,如卫星图、地形图或者混合图。...

    基于Android的百度API旅游地图应用开发参赛作品完整版

    7. **源代码**:提供源代码意味着其他开发者可以学习和借鉴该项目的实现方式,理解如何将百度地图API与Android应用结合,对于学习和改进现有应用非常有用。 8. **作品展示**:这部分可能包括应用的截图、演示视频,...

    基于android的百度地图应用

    在Android平台上开发基于百度地图的应用是一项常见的任务,它涉及到Android编程、网络通信、地理信息系统(GIS)以及百度地图API的使用。本项目标题为“基于android的百度地图应用”,其描述指出该应用功能虽简单但...

    android使用百度地图api在地图显示自己的位置

    以上就是“在Android上使用百度地图API显示自己位置”的主要技术点。通过这些步骤,开发者可以实现一个基本的定位并显示功能。在实际应用中,可能还需要根据具体需求进行更多的定制,比如设置定位频率、添加路线规划...

    android百度地图开发api

    总的来说,通过百度地图API,开发者可以在Android应用中构建出丰富多样的地图功能,满足各种业务场景的需求。而"**BaiduMapApi_Lib_Android_1.3.4**"这个库文件则提供了实现这些功能的基础。在实际开发中,我们需要...

    android地图 使用 百度地图 api 源码

    本文将深入探讨如何使用百度地图API3进行Android地图开发,并结合源码“haixinmap”进行详细讲解。 首先,我们要在项目中引入百度地图SDK。这通常通过在build.gradle文件中添加依赖来完成。确保你的dependencies块...

    Android调用百度地图API实现定位

    在Android开发中,集成...综上所述,Android调用百度地图API实现定位涉及到Android SDK、百度地图API的集成、权限管理、定位事件监听等多个环节,理解并熟练掌握这些知识点对于开发具有定位功能的Android应用至关重要。

    Android源码——百度地图API-定位周边搜索POI源码.7z

    在Android应用中,使用百度地图API进行定位,主要依赖于`BaiduLocationApi`接口。开发者需要集成`baidumap-sdk`库,然后创建`LocationClient`对象,设置监听器`LocationListener`,通过调用`requestLocation()`方法...

    百度地图api定位(Android)

    【百度地图API定位(Android)】是Android应用开发中的一个重要环节,它允许用户在应用程序中获取当前位置、导航、搜索地点等功能。在这个项目中,开发者已经完成了一个可运行的示例,并且进行了测试,确保了其功能...

    百度地图 API 开发指南 .rar_android_地图API_百度地图_百度地图API

    本指南将围绕百度地图API进行详细介绍,旨在帮助开发者快速掌握其使用方法。 **1. 安装与配置** 在使用百度地图API之前,首先需要在项目中集成百度地图SDK。这通常涉及到在Android Studio中的build.gradle文件中...

    Android代码-百度地图API-定位周边搜索POI源码.zip

    在Android开发中,百度地图API是一个非常重要的工具,它提供了丰富的功能,如定位、地图展示、路线规划等。...通过深入学习和理解这段源码,开发者能够更好地掌握在Android应用中使用百度地图API实现各种功能的方法。

    基于百度地图API 的驴游地图应用源代码+开发文档(Android)

    基于百度地图API 的驴游地图应用(Android)。 近年来,随着安卓智能手机的普及,各种各样的 Android 应用如雨后春笋般涌现出来,本应用基于百度地图 API 接口,利用百度地图提供的 API 开发包开发,旨在为用户...

    百度地图android 开发API 含demo

    1. **BaiduMapApi_Sample_Android_1.3.4.zip**:这是示例代码包,其中包含了多个预设的示例应用,展示了如何使用百度地图API进行各种操作。开发者可以通过运行这些示例来快速了解和学习API的用法,包括地图的基本...

    百度地图API源码

    首先,我们要了解的是JavaScript版本的百度地图API,这是最常见的使用方式,适用于Web端应用。开发者可以通过JavaScript API在网页中嵌入地图,实现地图的加载、缩放、平移等操作,并能添加标记、覆盖物,进行地理...

    百度地图API实例

    总之,"百度地图API实例"是一个帮助开发者掌握百度地图API在Android应用中实现各种功能的宝贵资源。通过对BaiduMapTest工程的学习和实践,开发者能够深入了解如何在自己的应用中集成百度地图,提供地图查看、定位、...

Global site tag (gtag.js) - Google Analytics