zoukankan      html  css  js  c++  java
  • 使用百度地图API进行Android地图应用开发(Eclipse)

            随着基于位置的服务的兴起,地图类App呈现爆发趋势。随着而来的是地图供应商开放大量的API。供开发人员开发基于PC或者移动端的应用程序。

    如今我们研究使用百度地图SDK进行Android项目的开发。

    本文讨论怎样导入百度地图SDK。

    主要分为server端配置和client配置。

    (1)首先要有一个百度账号,账号能够去百度官网申请,然后登陆:http://developer.baidu.com/map/index.php?

    title=%E9%A6%96%E9%A1%B5   。使用自己的账号password登录。该站点就是百度提供LBS服务的站点。


    (2)在Android开发中点击“SDK下载”,下载地图开发须要的SDK或者Demo。

    Demo中百度为我们提供了功能丰富的代码演示样例。大家能够依据需求下载须要的SDK。


    (3)下载完毕后,会有多个jar包和一个armabi目录,把jar包和armabi目录拷贝到Eclipseproject目录下的libs目录下。如图:




    (5)Eclipse打开Windows-->Preferences-->Android-->Build,获取右側的SHA1 fingerprint值:“3B:BF:6C:48:0B:EE:79。。

    。。。

    ”。以及记录自己应用程序的包名。如本文使用com.example.mapdemo.

    .


    .


    (6)来到刚才的百度地图API站点,点击右上角的“API控制台”,点击“创建应用”,新建一个应用。配置參数例如以下,当中最关键的安全码为:SHA1;包名    。

    中间是一个英文状态下的分号。如:3B:BF:6C:48:0B:EE:79。

    。。。。;com.example.mapdemo.   应用类型选择Android SDK。点击“提交”。这一步很重要。许多地图不能显示的情况,都是由于这一步有问题导致的。在server上创建的一个应用和你Eclipse中的一个项目一一相应,注意不是一个一对多或者多对一的关系。所以安全码是很重要的。


    (7)提交以后,记录訪问应用AK,这个也就是API key.之后在代码中会用到。作为訪问server的钥匙。


    (8)在百度server端的配置已经所有完毕。以下開始写代码,在AndroidMenifest.xml中加入:

        <application
    //自己主动生成代码
            <meta-data
                android:name="com.baidu.lbsapi.API_KEY"
                android:value="这里加入上方的AK" />
        </application>

    加入权限:

     <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.WAKE_LOCK" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.GET_TASKS" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.WRITE_SETTINGS" />

    (9)在布局文件里加入地图控件:

     <com.baidu.mapapi.map.MapView
            android:id="@+id/bmapView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:clickable="true" />

    (10)在MainActivity.java中加入代码:

    public class MainActivity extends Activity {
    
    	MapView mMapView = null;// 用于显示地图的控件;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		SDKInitializer.initialize(getApplicationContext());// 初始化地图SDK,注意一定要写在 setContentView(R.layout.activity_main);代码前;
    		setContentView(R.layout.activity_main);
    		mMapView = (MapView) findViewById(R.id.bmapView);// 绑定控件;
    	}
    
    	@Override
    	protected void onDestroy() {// 管理地图的生命周期:销毁
    		super.onDestroy();
    		mMapView.onDestroy();
    	}
    
    	@Override
    	protected void onResume() {// 显示;
    		super.onResume();
    		mMapView.onResume();
    	}
    
    	@Override
    	protected void onPause() {// 暂停;
    		super.onPause();
    		mMapView.onPause();
    	}
    
    }

    (11)编写少量代码后,执行程序,界面上就能够显示地图了,项目成功导入百度地图SDK。有了这个基础后,就能够开发更加复杂的基于地图的App了。


             本文參考百度地图开发文档:http://developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap


  • 相关阅读:
    Unity WebGL打包发布报错
    Makefile:4: *** missing separator. Stop.
    Unity使用VSCode没有代码提示/代码无法折叠
    Unreal Engine is exiting due to D3D device being lost
    使用Doxygen生成UE4的chm格式API文档
    'UTextRenderComponent::SetText': Passing text as FString is deprecated, please use FText instead (likely via a LOCTEXT)
    f4v格式视频播放失败
    Unity自定义Button组件Transition
    mysql安装步骤
    ansible 安装
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/6940599.html
Copyright © 2011-2022 走看看