浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

文档全面上新

更科技的视觉体验,更高效的页面结构,快前往体验吧!

体验新版
第1行: 第1行:
 
<div class="devguide">
 
<div class="devguide">
<div class="leftborderbg" style="min-height:5508px;"></div>
+
  <div class="leftborderbg" style="min-height:5508px;"></div>
<div class="devguideorder"><span>1</span>第一步,打开/创建一个Android工程</div>
+
  <div class="devguideorder"><span>1</span>第一步,打开/创建一个Android工程</div>
<div class="devguidecenter">根据开发者的实际使用情况,打开一个已有Android工程,或者新建一个Android工程。
+
  <div class="devguidecenter">根据开发者的实际使用情况,打开一个已有Android工程,或者新建一个Android工程。
 
+
 
这里以新建一个Android工程为例讲解。</div>
+
  这里以新建一个Android工程为例讲解。</div>
<div class="devguideorder"><span>2</span>
+
  <div class="devguideorder"><span>2</span>
第二步,添加SDK(jar + so)</div>
+
  第二步,添加SDK(jar + so)</div>
<div class="devguidecenter">
+
  <div class="devguidecenter">
 
'''方法一:''' <br/>
 
'''方法一:''' <br/>
 
下载Android定位SDK并解压,将libs中的jar和so放置到工程中相应的位置。
 
下载Android定位SDK并解压,将libs中的jar和so放置到工程中相应的位置。
 
+
 
 
注意,Android定位SDK提供了多种CPU架构的so文件(jar通用,只有一个),开发者可根据实际使用需求,放置所需so到对应的工程文件夹内。
 
注意,Android定位SDK提供了多种CPU架构的so文件(jar通用,只有一个),开发者可根据实际使用需求,放置所需so到对应的工程文件夹内。
 
+
 
 
下图为Android定位SDK文件结构示意图:
 
下图为Android定位SDK文件结构示意图:
 
+
 
 
http://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildas1.png
 
http://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildas1.png
 
+
 
 
下图为Android定位SDK放置到Android工程中的示意图,这里仅以armeabi为例:
 
下图为Android定位SDK放置到Android工程中的示意图,这里仅以armeabi为例:
 
+
 
 
http://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildas2.png
 
http://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildas2.png
 
+
 
 
<span style="color:#F39700;">'''注意:'''</span>
 
<span style="color:#F39700;">'''注意:'''</span>
  
 
<span style="color:#F39700;">1. 如果开发的是系统应用,除了需要在工程中配置so文件,还需要手动把对应架构的so文件拷贝到/system/lib下,如果是64位系统,则需要将64位的so文件拷贝到/sytem/lib64下。</span>
 
<span style="color:#F39700;">1. 如果开发的是系统应用,除了需要在工程中配置so文件,还需要手动把对应架构的so文件拷贝到/system/lib下,如果是64位系统,则需要将64位的so文件拷贝到/sytem/lib64下。</span>
 
+
 
 
<span style="color:#F39700;">2. 新版本的定位SDK,开发者除了要更新jar包之外,同时需要关注so文件是否有更新。如果so文件名称改变,即so文件有更新,开发者要及时替换掉老版本,否则会导致定位失败。</span></div>
 
<span style="color:#F39700;">2. 新版本的定位SDK,开发者除了要更新jar包之外,同时需要关注so文件是否有更新。如果so文件名称改变,即so文件有更新,开发者要及时替换掉老版本,否则会导致定位失败。</span></div>
 
<div class="devguidecenter">
 
<div class="devguidecenter">
 
配置build.gradle文件,注意设置sourceSets。
 
配置build.gradle文件,注意设置sourceSets。
 
+
 
 
<pre class="prettyprint codestyle">
 
<pre class="prettyprint codestyle">
 
sourceSets{
 
sourceSets{
 
         main{
 
         main{
                jniLibs.srcDir 'libs'
+
                jniLibs.srcDir 'libs'
                jni.srcDirs = []    //disable automatic ndk-build
+
                jni.srcDirs = []    //disable automatic ndk-build
        }
+
        }
 
}
 
}
 
+
 
 
dependencies {
 
dependencies {
 
         compile fileTree(dir:  'libs' , include: ['*.jar'])
 
         compile fileTree(dir:  'libs' , include: ['*.jar'])
 
         androidTestCompile ('com.android.support.test.espresso: espresso-core: 2.2.2', {
 
         androidTestCompile ('com.android.support.test.espresso: espresso-core: 2.2.2', {
                  exclude group: 'com.android.support',  module: 'support-annotations'
+
                exclude group: 'com.android.support',  module: 'support-annotations'
        })
+
        })
 
         compile 'com.android.support: appcompat-v7:25.1.0'
 
         compile 'com.android.support: appcompat-v7:25.1.0'
 
         testCompile 'junit: junit: 4.12'
 
         testCompile 'junit: junit: 4.12'
 
}
 
}
 
</pre>
 
</pre>
 
+
 
 
<div>'''方法二:'''</div>
 
<div>'''方法二:'''</div>
 
<span style="color:#FF0000;">注意:目前Gradle中集成SDK只支持国内版本如果需要Google 渠道版本SDK 请到</span>'''[https://lbs.baidu.com/index.php?title=sdk/download&action#selected=mapsdk_basicmap,mapsdk_searchfunction,mapsdk_lbscloudsearch,mapsdk_calculationtool,mapsdk_radar 官网下载一体化包]。<br>
 
<span style="color:#FF0000;">注意:目前Gradle中集成SDK只支持国内版本如果需要Google 渠道版本SDK 请到</span>'''[https://lbs.baidu.com/index.php?title=sdk/download&action#selected=mapsdk_basicmap,mapsdk_searchfunction,mapsdk_lbscloudsearch,mapsdk_calculationtool,mapsdk_radar 官网下载一体化包]。<br>
第59行: 第59行:
 
     }
 
     }
 
}
 
}
 
+
 
 
</pre>
 
</pre>
 
2、在主工程的build.gradle文件配置dependencies<br>
 
2、在主工程的build.gradle文件配置dependencies<br>
{| border="1" align="center" cellspacing="1" cellpadding="1" style="width: 620px;"
+
  {| border="1" align="center" cellspacing="1" cellpadding="1" style="width: 620px;"
|-
+
  |-
| style="width: 103px;" | SDK<br/>
+
  | style="width: 103px;" | SDK<br/>
| style="width: 480px;" | 引入依赖<br/>
+
  | style="width: 480px;" | 引入依赖<br/>
|-
+
  |-
| style="width: 103px;" | 地图组件<br/>
+
  | style="width: 103px;" | 地图组件<br/>
| style="width: 480px;" | implementation 'com.baidu.lbsyun:BaiduMapSDK_Map:7.4.0'<br/>
+
  | style="width: 480px;" | implementation 'com.baidu.lbsyun:BaiduMapSDK_Map:7.4.0'<br/>
|-
+
  |-
| style="width: 103px;" | 检索组件<br/>
+
  | style="width: 103px;" | 检索组件<br/>
| style="width: 480px;" | mplementation 'com.baidu.lbsyun:BaiduMapSDK_Search:7.4.0'<br/>
+
  | style="width: 480px;" | implementation 'com.baidu.lbsyun:BaiduMapSDK_Search:7.4.0'<br/>
|-
+
  |-
| style="width: 103px;" | 工具组件<br/>
+
  | style="width: 103px;" | 工具组件<br/>
| style="width: 480px;" | implementation 'com.baidu.lbsyun:BaiduMapSDK_Util:7.4.0'<br/>
+
  | style="width: 480px;" | implementation 'com.baidu.lbsyun:BaiduMapSDK_Util:7.4.0'<br/>
|-
+
  |-
| style="width: 103px;" | 步骑行组件<br/>
+
  | style="width: 103px;" | 步骑行组件<br/>
| style="width: 480px;" | mplementation 'com.baidu.lbsyun:BaiduMapSDK_Map-BWNavi:7.4.0'<br/>
+
  | style="width: 480px;" | implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-BWNavi:7.4.0'<br/>
|-
+
  |-
| style="width: 103px;" | 基础定位组件<br/>
+
  | style="width: 103px;" | 基础定位组件<br/>
| style="width: 480px;" | implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8'<br/>
+
  | style="width: 480px;" | implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8'<br/>
|-
+
  |-
| style="width: 103px;" | 全量定位组件<br/>
+
  | style="width: 103px;" | 全量定位组件<br/>
| style="width: 480px;" | Implementation 'com.baidu.lbsyun:BaiduMapSDK_Location_All:9.1.8'<br/>
+
  | style="width: 480px;" | implementation 'com.baidu.lbsyun:BaiduMapSDK_Location_All:9.1.8'<br/>
|-
+
  |-
| style="width: 103px;" | 驾车导航组件<br/>
+
  | style="width: 103px;" | 驾车导航组件<br/>
| style="width: 480px;" | implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-Navi:7.4.0'<br/>
+
  | style="width: 480px;" | implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-Navi:7.4.0'<br/>
|-
+
  |-
| style="width: 103px;" | 驾车导航+步骑行导航<br/>
+
  | style="width: 103px;" | 驾车导航+步骑行导航<br/>
| style="width: 480px;" | mplementation 'com.baidu.lbsyun:BaiduMapSDK_Map-AllNavi:7.4.0'<br/>
+
  | style="width: 480px;" | implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-AllNavi:7.4.0'<br/>
|-
+
  |-
| style="width: 103px;" | TTS组件<br/>
+
  | style="width: 103px;" | TTS组件<br/>
| style="width: 480px;" | implementation 'com.baidu.lbsyun:NaviTts:2.5.5'<br/>
+
  | style="width: 480px;" | implementation 'com.baidu.lbsyun:NaviTts:2.5.5'<br/>
|-
+
  |-
| style="width: 103px;" | 全景组件<br/>
+
  | style="width: 103px;" | 全景组件<br/>
| style="width: 480px;" | implementation 'com.baidu.lbsyun:BaiduMapSDK_Panorama:2.9.0'<br/>
+
  | style="width: 480px;" | implementation 'com.baidu.lbsyun:BaiduMapSDK_Panorama:2.9.0'<br/>
|}
+
  |}
 
3、主工程的build.gradle文件在Project目录中位置:<br>
 
3、主工程的build.gradle文件在Project目录中位置:<br>
 
https://mapopen-pub-androidsdk.cdn.bcebos.com/androidstudio/androidstudio_2.png<br/>以下是基础定位组件相关依赖的示例, 配置如下:<br/>
 
https://mapopen-pub-androidsdk.cdn.bcebos.com/androidstudio/androidstudio_2.png<br/>以下是基础定位组件相关依赖的示例, 配置如下:<br/>
 
<pre class="prettyprint codestyle">android {
 
<pre class="prettyprint codestyle">android {
    defaultConfig {
+
defaultConfig {
 
         ndk {
 
         ndk {
 
             // 设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
 
             // 设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
第107行: 第107行:
 
     }
 
     }
 
}
 
}
 
+
 
 
dependencies {
 
dependencies {
implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8'
+
  implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8'
 
}
 
}
 
+
 
 
</pre>
 
</pre>
 
+
 
 
<br/><span style="color:#FF0000;">注意:在gradle依赖时如果同时使用多个组件时,部分组件会产生冲突,在使用时根据自己的项目需求去组合,以下是会产生冲突的组件。</span> &nbsp;<br/><br/>&nbsp;
 
<br/><span style="color:#FF0000;">注意:在gradle依赖时如果同时使用多个组件时,部分组件会产生冲突,在使用时根据自己的项目需求去组合,以下是会产生冲突的组件。</span> &nbsp;<br/><br/>&nbsp;
 
+
 
{| border="1" cellspacing="1" cellpadding="1" style="width:620px;"
+
  {| border="1" cellspacing="1" cellpadding="1" style="width:620px;"
|-
+
  |-
| 组件
+
  | 组件
| 依赖
+
  | 依赖
| 备注
+
  | 备注
|-
+
  |-
| 基础定位组件<br/>
+
  | 基础定位组件<br/>
| implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8'<br/>
+
  | implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8'<br/>
| rowspan="2" | 选其一<br/>
+
  | rowspan="2" | 选其一<br/>
|-
+
  |-
| 全量定位组件<br/>
+
  | 全量定位组件<br/>
| Implementation 'com.baidu.lbsyun:BaiduMapSDK_Location_All:9.1.8'<br/>
+
  | implementation 'com.baidu.lbsyun:BaiduMapSDK_Location_All:9.1.8'<br/>
|-
+
  |-
| 地图组件<br/>
+
  | 地图组件<br/>
| implementation 'com.baidu.lbsyun:BaiduMapSDK_Map:7.4.0'<br/>
+
  | implementation 'com.baidu.lbsyun:BaiduMapSDK_Map:7.4.0'<br/>
| rowspan="4" | 这些组件中都包含了BaiduMapSDK_Map组件,根据需求选其一<br/>
+
  | rowspan="4" | 这些组件中都包含了BaiduMapSDK_Map组件,根据需求选其一<br/>
|-
+
  |-
| 步骑行组件<br/>
+
  | 步骑行组件<br/>
| implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-BWNavi:7.4.0'<br/>
+
  | implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-BWNavi:7.4.0'<br/>
|-
+
  |-
| 驾车导航组件<br/>
+
  | 驾车导航组件<br/>
| implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-Navi:7.4.0'<br/>
+
  | implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-Navi:7.4.0'<br/>
|-
+
  |-
| 驾车导航+步骑行导航<br/>
+
  | 驾车导航+步骑行导航<br/>
| implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-AllNavi:7.4.0'<br/>
+
  | implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-AllNavi:7.4.0'<br/>
|}
+
  |}
</div>
+
  </div>
<div class="devguideorder"><span>3</span>第三步,添加AK</div>
+
  <div class="devguideorder"><span>3</span>第三步,添加AK</div>
<div class="devguidecenter">Android定位SDK自v4.0版本起,需要进行AK鉴权。开发者在使用SDK前,需完成AK申请,并在AndroidManifest.xml文件中,正确填写AK。
+
  <div class="devguidecenter">Android定位SDK自v4.0版本起,需要进行AK鉴权。开发者在使用SDK前,需完成AK申请,并在AndroidManifest.xml文件中,正确填写AK。
 
[http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/create-project/key AK如何获取?点击这里了解详情。]
 
[http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/create-project/key AK如何获取?点击这里了解详情。]
 
+
 
 
在Application标签中增加如下代码:
 
在Application标签中增加如下代码:
 
<pre class="prettyprint codestyle">
 
<pre class="prettyprint codestyle">
<meta-data
+
  <meta-data
    android:name="com.baidu.lbsapi.API_KEY"
+
      android:name="com.baidu.lbsapi.API_KEY"
    android:value="AK" >
+
      android:value="AK" >
</meta-data>
+
  </meta-data>
 
</pre>
 
</pre>
 
+
 
 
如下图所示:
 
如下图所示:
 
+
 
 
http://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildas4.png</div>
 
http://mapopen-pub-androidsdk.cdn.bcebos.com/location/images/buildas4.png</div>
 
<div class="devguideorder"><span>4</span>第四步,添加定位权限</div>
 
<div class="devguideorder"><span>4</span>第四步,添加定位权限</div>
第163行: 第163行:
 
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"> </service>
 
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"> </service>
 
</pre>
 
</pre>
 
+
 
 
除添加service组件外,使用定位SDK还需添加如下权限:
 
除添加service组件外,使用定位SDK还需添加如下权限:
 
<pre class="prettyprint codestyle">
 
<pre class="prettyprint codestyle">

2021年11月4日 (四) 18:13的版本

1第一步,打开/创建一个Android工程
根据开发者的实际使用情况,打开一个已有Android工程,或者新建一个Android工程。 这里以新建一个Android工程为例讲解。
2 第二步,添加SDK(jar + so)

方法一:
下载Android定位SDK并解压,将libs中的jar和so放置到工程中相应的位置。

注意,Android定位SDK提供了多种CPU架构的so文件(jar通用,只有一个),开发者可根据实际使用需求,放置所需so到对应的工程文件夹内。

下图为Android定位SDK文件结构示意图:

buildas1.png

下图为Android定位SDK放置到Android工程中的示意图,这里仅以armeabi为例:

buildas2.png

注意:

1. 如果开发的是系统应用,除了需要在工程中配置so文件,还需要手动把对应架构的so文件拷贝到/system/lib下,如果是64位系统,则需要将64位的so文件拷贝到/sytem/lib64下。

2. 新版本的定位SDK,开发者除了要更新jar包之外,同时需要关注so文件是否有更新。如果so文件名称改变,即so文件有更新,开发者要及时替换掉老版本,否则会导致定位失败。

配置build.gradle文件,注意设置sourceSets。

sourceSets{
        main{
                jniLibs.srcDir 'libs'
                jni.srcDirs = []    //disable automatic ndk-build
        }
}
  
dependencies {
        compile fileTree(dir:  'libs' , include: ['*.jar'])
        androidTestCompile ('com.android.support.test.espresso: espresso-core: 2.2.2', {
                exclude group: 'com.android.support',  module: 'support-annotations'
        })
        compile 'com.android.support: appcompat-v7:25.1.0'
        testCompile 'junit: junit: 4.12'
}
方法二:

注意:目前Gradle中集成SDK只支持国内版本如果需要Google 渠道版本SDK 请到官网下载一体化包
通过Gradle 集成sdk
1、在Project的build.gradle文件中配置repositories,添加mavenCentral仓库地址 androidstudio_1.png
配置如下:

allprojects {
    repositories {
        mavenCentral()
    }
}
  

2、在主工程的build.gradle文件配置dependencies

SDK
引入依赖
地图组件
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map:7.4.0'
检索组件
implementation 'com.baidu.lbsyun:BaiduMapSDK_Search:7.4.0'
工具组件
implementation 'com.baidu.lbsyun:BaiduMapSDK_Util:7.4.0'
步骑行组件
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-BWNavi:7.4.0'
基础定位组件
implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8'
全量定位组件
implementation 'com.baidu.lbsyun:BaiduMapSDK_Location_All:9.1.8'
驾车导航组件
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-Navi:7.4.0'
驾车导航+步骑行导航
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-AllNavi:7.4.0'
TTS组件
implementation 'com.baidu.lbsyun:NaviTts:2.5.5'
全景组件
implementation 'com.baidu.lbsyun:BaiduMapSDK_Panorama:2.9.0'

3、主工程的build.gradle文件在Project目录中位置:
androidstudio_2.png
以下是基础定位组件相关依赖的示例, 配置如下:

android {
defaultConfig {
        ndk {
            // 设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
            abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64"
        }
    }
}
  
dependencies {
  implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8'
}
  


注意:在gradle依赖时如果同时使用多个组件时,部分组件会产生冲突,在使用时根据自己的项目需求去组合,以下是会产生冲突的组件。  

 

组件 依赖 备注
基础定位组件
implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8'
选其一
全量定位组件
implementation 'com.baidu.lbsyun:BaiduMapSDK_Location_All:9.1.8'
地图组件
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map:7.4.0'
这些组件中都包含了BaiduMapSDK_Map组件,根据需求选其一
步骑行组件
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-BWNavi:7.4.0'
驾车导航组件
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-Navi:7.4.0'
驾车导航+步骑行导航
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-AllNavi:7.4.0'
3第三步,添加AK
Android定位SDK自v4.0版本起,需要进行AK鉴权。开发者在使用SDK前,需完成AK申请,并在AndroidManifest.xml文件中,正确填写AK。

AK如何获取?点击这里了解详情。

在Application标签中增加如下代码:

  <meta-data
      android:name="com.baidu.lbsapi.API_KEY"
      android:value="AK" >
  </meta-data>

如下图所示:

buildas4.png
4第四步,添加定位权限
使用定位SDK,需在AndroidManifest.xml文件中Application标签中声明service组件,每个App拥有自己单独的定位service,代码如下:
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"> </service>

除添加service组件外,使用定位SDK还需添加如下权限:

<!-- 这个权限用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<!-- 这个权限用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<!-- 访问网络,网络定位需要上网-->
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消