如何使用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)      

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

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中配置

<?xml version="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>

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-19
1)下载百度地图移动版API(Android)开发包
要在Android应用中使用百度地图API,就需要在工程中引用百度地图API开发包,这个开发包包含两个文件:baidumapapi.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)创建一个Android工程
这里需要强调一点:百度地图移动版api支持Android 1.5及以上系统,因此我们创建的工程应基于Android SDK 1.5及以上。本回答被网友采纳

如何使用Android调用百度地图API
1、在android配置清单文件中AndroidManifest.xml添加开发密钥和所需权限 <application> <\/application> 所需权限 <uses-permission android:name="android.permission.GET_ACCOUNTS" \/> <uses-permission android:name="android.permission.USE_CREDENTIALS" \/> <uses-permission android:name="android.per...

如何使用Android调用百度地图API
1)下载百度地图移动版API(Android)开发包 要在Android应用中使用百度地图API,就需要在工程中引用百度地图API开发包,这个开发包包含两个文件:baidumapapi.jar和libBMapApiEngine.so。2)申请API Key 和使用Google map api一样,在使用百度地图API之前也需要获取相应的API Key。百度地图API Key与你的百...

怎么调用地图怎么调用地图api
1。要调用百度地图API,必须先申请一个秘钥。进入http:\/\/lbsyun.baidu.com\/,时用百度账号登录,进入申请密钥页面(具体填写信息以网站为准)。2.申请成功后,您将看到申请的详细信息,包括申请名称和密钥。对于不同版本的key,官方给出了不同的key用法:(。为了给用户提供更安全的服务,Android 自SDK的v...

百度地图SDK API使用教程
首先,注册百度账号用户,登录百度地图开放平台官网,输入账号密码完成登录。若非开发者用户,点击立即注册,按照流程完成开发者注册。接着,登录后进行个人或企业认证,提升免费配额和并发。然后,获取服务密钥(AK),步骤包括:登录API控制台,创建应用,配置SHA1和包名,提交生成AK。最后,使用相关服务,开发...

android 怎么批量调用百度地图的地理编码功能
如何批量调用百度地图的地理编码功能,以下是具体步骤:1.打开百度地图开放平台,注册账号,并创建应用。2.在创建的应用中,开启地理编码API的权限。3.在自己的Android工程中,引入百度地图SDK。4.在代码中进行调用地理编码API的操作,可以使用HttpURLConnection或者HttpClient发送HTTP请求。请求的URL如下所示:...

如何获取百度地图API的密钥以及调用百度地图API
1.登录百度账号 访问API控制台页面,若您未登录百度账号,将会进入百度账号登录页面,如下图:2.登陆API控制台 登录会跳转到API控制台服务,具体如下图:3.创建应用 点击"创建应用",进入创建AK页面,输入应用名称,将应用类型改为:“Android SDK”:4.配置应用 在应用类型选为“Android SDK”后,...

如何调用百度地图接口如何调用百度地图接口导航
如何调用百度地图API 第一步:进入http:\/\/api.map.baidu.com\/lbsapi\/creatmap\/,百度地图制作网站,搜索出你想要展示的地点。第二步:设置地图。您可以设置网站上显示的地图的宽度和高度,其他选项保持不变。第三步:添加注释。点击第一个图标后,在右边找到自己的位置,点击鼠标左键定位。您可以更改标记...

android百度地图怎么开发
1、第一步:申请百度地图密钥(API_KEY):http:\/\/developer.baidu.com\/map\/sdk-android.htm2、第二步:在工程里新建libs文件夹,将开发包里的baidumapapi_vX_X_X.jar拷贝到libs根目录下,将libBaiduMapSDK_vX_X_X.so拷贝到libs\\armeabi目录下(官网demo里已有这两个文件,如果要集成到自己的工程里,就需要自己...

怎么在android百度地图通过经纬度来定位并且显示出地图位置
使用Android自带的LocationManager和Location获取位置的时候,经常会有获取的location为null的情况,并且操作起来也不是很方便,在这个Demo里我使用了百度地图API中的定位SDK,可以一次性获取当前位置经纬度以及详细地址信息,还可以获取周边POI信息,同时可以设定位置通知点,当到达某一位置时,发出通知信息等方式...

怎么申请安卓百度地图key?申请百度地图key的教程
1、首先,要拥有一个百度帐号。如果已有,可以直接登录,没有就要去注册一个百度ID。2、有了百度帐号就可以去网站申请key了,百度“百度地图API“,点开第一条信息就可以进百度地图API的官网。3、进官网会显示一个提示,选择Android程序员可以进去了解下百度地图,你如果和了解就可以直接关了。然后找到...

相似回答