• 百度地图定位


    //导入所有的jar包

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

    package com.ce.fragment;

    import android.os.Bundle;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;

    import com.baidu.location.BDLocation;
    import com.baidu.location.BDLocationListener;
    import com.baidu.location.LocationClient;
    import com.baidu.location.LocationClientOption;
    import com.baidu.mapapi.SDKInitializer;
    import com.baidu.mapapi.map.BaiduMap;
    import com.baidu.mapapi.map.MapStatus;
    import com.baidu.mapapi.map.MapStatusUpdateFactory;
    import com.baidu.mapapi.map.MapView;
    import com.baidu.mapapi.map.MyLocationData;
    import com.baidu.mapapi.model.LatLng;
    import com.ce.activity.R;

    public class F2 extends Fragment {
        private MapView mMapView;
        private BaiduMap mBaiduMap;
        private LocationClient mLocClient;
        boolean isFirstLoc = true; // 是否首次定位
        MyLocationListenner listenner = new MyLocationListenner();

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            SDKInitializer.initialize(getActivity().getApplicationContext());

            View view = View.inflate(getActivity(), R.layout.f2, null);
            mMapView = (MapView) view.findViewById(R.id.bmapView);
            mBaiduMap = mMapView.getMap();

            // 开启定位图层
            mBaiduMap.setMyLocationEnabled(true);
            // 定位初始化
            mLocClient = new LocationClient(getActivity());
            mLocClient.registerLocationListener(listenner);
            LocationClientOption option = new LocationClientOption();
            option.setOpenGps(true); // 打开gps
            option.setCoorType("bd09ll"); // 设置坐标类型
            option.setScanSpan(1000);
            mLocClient.setLocOption(option);
            mLocClient.start();
            return view;
        }

        public class MyLocationListenner implements BDLocationListener {

            public void onReceiveLocation(BDLocation location) {

                // map view 销毁后不在处理新接收的位置
                if (location == null || mMapView == null) {
                    return;
                }
                MyLocationData locData = new MyLocationData.Builder()
                        .accuracy(location.getRadius())
                        // 此处设置开发者获取到的方向信息,顺时针0-360
                        .direction(100).latitude(location.getLatitude())
                        .longitude(location.getLongitude()).build();


                mBaiduMap.setMyLocationData(locData);
                if (isFirstLoc) {
                    isFirstLoc = false;
                    LatLng ll = new LatLng(location.getLatitude(),
                            location.getLongitude());
                    MapStatus.Builder builder = new MapStatus.Builder();
                    builder.target(ll).zoom(18.0f);
                    mBaiduMap.animateMapStatus(MapStatusUpdateFactory
                            .newMapStatus(builder.build()));
                }
            }
        }

        @Override
        public void onPause() {
            mMapView.onPause();
            super.onPause();
        }

        @Override
        public void onResume() {
            mMapView.onResume();
            super.onResume();
        }

        @Override
        public void onDestroy() {
            // 退出时销毁定位
            mLocClient.stop();
            // 关闭定位图层
            mBaiduMap.setMyLocationEnabled(false);
            mMapView.onDestroy();
            mMapView = null;
            super.onDestroy();
        }

    }

  • 相关阅读:
    git的操作流程命令步骤 软件测试媛
    IT相关的编程技术类学习网站整理 软件测试媛
    Linux中的centos下使用docker搭建gitlab步骤 软件测试媛
    Windows下安装MSI格式的MySQL8.0,且使用自定义配置安装步骤 软件测试媛
    MySQL远程连接工具之Navicat Premium下载及安装步骤 软件测试媛
    截止2021年底,我国18个税种中已有12个税种完成立法
    国产银河麒麟Kylin V10操作系统如何把常用文件夹加入左侧侧边栏(类似windows文件资源管理器中的收藏夹)
    消费税
    做任何事(决策)之前都要先考虑成本,再考虑收益
    具名组匹配(ES9)更改时间格式
  • 原文地址:https://www.cnblogs.com/weiyangge/p/5456546.html
Copyright © 2020-2023  润新知