Android百度地图(一)如何集成到项目中
16lz
2021-01-26
Android百度地图(一)如何集成到项目中
申请密钥,到百度API控制台的页面,
http://lbsyun.baidu.com/index.php?title=androidsdk/guide/key
获取SHA1 码
http://blog.csdn.net/xyzz609/article/details/51918936
示例代码下载,全选就行
http://lbsyun.baidu.com/sdk/download?selected=mapsdk_basicmap,mapsdk_searchfunction,mapsdk_lbscloudsearch,mapsdk_calculationtool,mapsdk_radar
将jar包和so文件导入项目中
这些文件哪有?你下载后解压的demo
好了,装备好了,开始代码吧
布局文件:activity_main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <com.baidu.mapapi.map.MapView android:id="@+id/id_bmapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" />LinearLayout>
展示视图控制文件:MainActivity
package com.yang.baidumapceshi;import android.app.Activity;import android.os.Bundle;import android.view.Window;import com.baidu.mapapi.SDKInitializer;import com.baidu.mapapi.map.MapView;public class MainActivity extends Activity{ private MapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); // 在使用SDK各组件之前初始化context信息,传入ApplicationContext // 注意该方法要再setContentView方法之前实现 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); // 获取地图控件引用 mMapView = (MapView) findViewById(R.id.id_bmapView); } @Override protected void onDestroy() { super.onDestroy(); // 在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理 mMapView.onDestroy(); mMapView = null; } @Override protected void onResume() { super.onResume(); // 在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理 mMapView.onResume(); } @Override protected void onPause() { super.onPause(); // 在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理 mMapView.onPause(); }}
权限啊密匙啊–AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.yang.baidumapceshi"> <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" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="HOuUcEQSKXNv5gMLSK2ZSy0hK5dhMh59" /> <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> intent-filter> activity> application>manifest>
最后注意:build.gradle,导入的jar部署到环境了吗
apply plugin: 'com.android.application'android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "com.yang.baidumapceshi" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support:design:23.4.0' compile files('libs/baidumapapi_base_v4_0_0.jar') compile files('libs/baidumapapi_cloud_v4_0_0.jar') compile files('libs/baidumapapi_map_v4_0_0.jar') compile files('libs/baidumapapi_radar_v4_0_0.jar') compile files('libs/baidumapapi_search_v4_0_0.jar') compile files('libs/baidumapapi_util_v4_0_0.jar') compile files('libs/locSDK_6.13.jar')}
行了 你可以运行测试了,不过建议用真机进行测试,我的虚拟机一直报错,我研究了一下午,还是不行,最后上真机才行的。
参考大神
http://blog.csdn.net/lmj623565791/article/details/37729091
更多相关文章
- Android(安卓)音乐播放
- 【Android(安卓)进阶】Iconfont 图标的使用以及自定义
- android 遇到Error:Execution failed for task ':app:processDeb
- Flutter ubuntu 环境搭建
- 如何解决向eclipse导入android project时遇到错误“Invalid proj
- Android(安卓)5.0后图片报错:libpng warning: iCCP: Not recogniz
- android一个LinearLayout中具有几个控件,想要使那几个控件在Linea
- Android(安卓)开发之录音与播放
- android studio 如何清理没有用到的资源文件