zoukankan      html  css  js  c++  java
  • 百度地图定位

    //导入所有的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();
        }

    }

  • 相关阅读:
    ios 适应屏幕
    用于重新编译的工具和命令
    SSRS 的简单使用(二)
    SSRS 的简单使用(一)
    优化SqlServer--数据压缩
    优化SQLServer——表和分区索引
    关于tempdb的一些注意事项
    关于事务的隔离级别和处理机制的理解
    SQL Server中的锁的简单学习
    sqlserver还原数据库失败,sql2008备份集中的数据库备份与现有的xxx数据库不同
  • 原文地址:https://www.cnblogs.com/weiyangge/p/5456546.html
Copyright © 2011-2022 走看看