ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

lbs开发百度地图app定位

2021-12-04 22:01:10  阅读:251  来源: 互联网

标签:lbs layout parent app height match android id 百度


第一步、配置环境

1申请百度地图key

2.导入基本的百度地图jar包和so文件

要想使用百度地图sdk,就必须申请一个百度地图的api key。申请流程挺简单的。
1、首先注册成为百度的开发者,然后打开
http://lbsyun.baidu.com/apiconsole/key

注册:

激活邮箱


创建应用:

2、我们需要获取SHA1,还要找自己项目的包名,这样才能得到安全码

那么怎么获得SHA1呢?

我们一般都设置好java的环境变量,
那就直接:win+r,cmd,来到dos命令窗口,

输入【keytool -list -v -keystore debug.keystore】回车,
然后提示你输入【秘钥库口令】,输入【android】回车然后就会显示SHA1的值。


在AndroidMainfest.xml找自己的包名

3、输入从DOS获得的SHA1 ,以及自己的项目包名

第二步,基本开发

基本功能是定位,根据经纬度、地址查询等简单操作。

  • 在AndroidManifest.xml文件下添加权限信心、百度key等
  • <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.wanglei.mymap">
        <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" />
        <!-- 访问精确位置的权限 -->
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <!-- 这个权限用于进行网络定位-->
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
        <!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <!-- 百度地图key -->
            <meta-data
                android:name="com.baidu.lbsapi.API_KEY"
                android:value="KlXVjLVaGQZUk5z8i13mAPL805aFXE8n" />
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <service
                android:name="com.baidu.location.f"
                android:enabled="true"
                android:process=":remote">
            </service>
        </application>

    </manifest>

    在activity_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"
        >
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:orientation="horizontal"
            android:id="@+id/linearLayout1"
            android:visibility="gone"
            >
            <EditText
                android:layout_width="120dp"
                android:layout_height="match_parent"
                android:hint="经度"
                android:id="@+id/editText_lg" />
            <EditText
                android:layout_width="120dp"
                android:layout_height="match_parent"
                android:hint="纬度"
                android:id="@+id/editText_la" />
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:hint="前往"
                android:id="@+id/button_llsearch"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:orientation="horizontal"
            android:id="@+id/linearLayout2"
            android:visibility="gone"
            >
            <EditText
                android:layout_width="240dp"
                android:layout_height="match_parent"
                android:hint="地址"
                android:id="@+id/editText_site" />
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:hint="前往"
                android:id="@+id/button_sitesearch"/>
        </LinearLayout>

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

    AndroidManifest.xml:增加百度地图SDK需要的权限、API_KEY和定位服务

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="intvehapp.intvehapp" >
        <!-- 百度地图API所需权限 -->
        <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.ACCESS_COARSE_LOCATION" />
        <!-- 访问精确位置的权限 -->
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme" >
            <activity android:name=".BaiDuMapActivity" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
     
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <!--百度API_KEY-->
            <meta-data
                android:name="com.baidu.lbsapi.API_KEY"
                android:value="iXDGdZtFiPifnNm6dUEFwDRXYQVeZ37V" />
            <!--百度定位服务-->
            <service
                android:name="com.baidu.location.f"
                android:enabled="true"
                android:process=":remote" >
            </service>
     
        </application>
     
    </manifest>

  • 效果图

地址 lt/wechatjiemian5

标签:lbs,layout,parent,app,height,match,android,id,百度
来源: https://blog.csdn.net/lt20001213/article/details/121699246

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有