百度地图定位

导入官方jar包

依赖

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

权限

   <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
    <!-- 这个权限用于进行网络定位 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <!-- 这个权限用于访问GPS定位 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_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.INTERNET" />
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS"
        tools:ignore="ProtectedPermissions" />
    <!-- SD卡读取权限,用户写入离线定位数据-->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
        tools:ignore="ProtectedPermissions"></uses-permission>

初始化

 // 初始化百度地图SDK
        SDKInitializer.initialize(getApplicationContext());

布局
···java
<com.baidu.mapapi.map.MapView
android:id="@+id/mmap"
android:layout_width=“match_parent”
android:layout_height=“match_parent” >
</com.baidu.mapapi.map.MapView>



main
```java
public class MapFragment extends android.support.v4.app.Fragment {

    private MapView mMapView = null;

    private BaiduMap mMapViewMap;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        View view = View.inflate(getContext(), R.layout.layout_map, null);

        //获取地图控件引用
        mMapView = (MapView) view.findViewById(R.id.mmap);
        mMapViewMap = mMapView.getMap();
        //显示卫星图层
        mMapViewMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);

        //定位
        mMapViewMap.setMyLocationEnabled(true);

        MyLocationData locationData = new MyLocationData.Builder()
                //40.0481292144,116.3065021771
                .latitude()
                .longitude()
                .build();
// 设置定位数据
        mMapViewMap.setMyLocationData(locationData);

        BitmapDescriptor marker = BitmapDescriptorFactory
                .fromResource(R.drawable.icon_openmap_mark);
        MyLocationConfiguration config = new MyLocationConfiguration(
                MyLocationConfiguration.LocationMode.FOLLOWING, true, marker);
        mMapViewMap.setMyLocationConfigeration(config);



        return view;
    }


    @Override
    public void onDestroy() {
        super.onDestroy();
        //在activity执行onDestroy时必须调用mMapView.onDestroy()
        mMapView.onDestroy();

    }
}

可以加广播,也可以不加

BroadcastReceiver receiver = new BroadcastReceiver() {
            //复写其必须有的方法onReceive,第一个参数上下文,第二个参数是传过来的intent.
            public void onReceive(Context context, Intent intent) {
                //参数intent.getAction得到发送过来的Intent里的action动作
                String action = intent.getAction();
                //创建一个null的字符串.
                String msg = "";
                //进行检查,if判断字符串是否相同,action.equals(),直接用SDKInitializer.SDK_BROADTCAST_ACTION_ST...就可以了
                if (action.equals(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_OK)) {
                    msg = "Key验证成功!";
                }//判断SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR :验证失败
                else if (action.equals(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR)) {
                    msg = "Key验证失败!";
                }//判断SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR :网络错误
                else if (action.equals(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR)) {
                    msg = "网络错误";
                }
                //弹吐司,内容就是字符串.
                Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
            }
        };
        //代码进行广播的注册配置,也可以在清单配置文件里进行配置
        IntentFilter filter = new IntentFilter();
        //添加过滤条件,IntentFilter对象.addAction();内容就是SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_....
        filter.addAction(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_OK);
        filter.addAction(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR);
        filter.addAction(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR);
        //进行广播注册,1.要注册广播类对象 2配置文件IntentFilter对象.
        registerReceiver(receiver, filter);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园建设方案旨在通过融合先进技术,如物联网、大数据、人工智能等,实现校园的智能化管理与服务。政策的推动和技术的成熟为智慧校园的发展提供了基础。该方案强调了数据的重要性,提出通过数据的整合、开放和共享,构建产学研资用联动的服务体系,以促进校园的精细化治理。 智慧校园的核心建设任务包括数据标准体系和应用标准体系的建设,以及信息化安全与等级保护的实施。方案提出了一站式服务大厅和移动校园的概念,通过整合校内外资源,实现资源共享平台和产教融合就业平台的建设。此外,校园大脑的构建是实现智慧校园的关键,它涉及到数据中心化、数据资产化和数据业务化,以数据驱动业务自动化和智能化。 技术应用方面,方案提出了物联网平台、5G网络、人工智能平台等新技术的融合应用,以打造多场景融合的智慧校园大脑。这包括智慧教室、智慧实验室、智慧图书馆、智慧党建等多领域的智能化应用,旨在提升教学、科研、管理和服务的效率和质量。 在实施层面,智慧校园建设需要统筹规划和分步实施,确保项目的可行性和有效性。方案提出了主题梳理、场景梳理和数据梳理的方法,以及现有技术支持和项目分级的考虑,以指导智慧校园的建设。 最后,智慧校园建设的成功依赖于开放、协同和融合的组织建设。通过战略咨询、分步实施、生态建设和短板补充,可以构建符合学校特色的生态链,实现智慧校园的长远发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值