Android百度地图SDK版本:5.2
1.创建并在项目中配置好AK;
2.Application中初始化地图组件:SDKInitializer.initialize(mContext);
3.自己页面中使用如下:

/** * 考勤详细页 * Created by WnsnailYang on 2014/7/7. */@EActivity(R.layout.activity_attendance_detail)public class AttendanceDetailActivity extends BaseActivity {    @Extra("attendanceInfoModel")    AttendanceInfoModel attendanceInfoModel;    @ViewById(R.id.header_layout)    BaseHeadBar header_layout;//头部标题    @ViewById(R.id.map_layout)    RelativeLayout mapView_layout;    @ViewById(R.id.tv_no_loc)    TextView tv_no_loc;    @ViewById(R.id.attendance_detail_grid_photo)    NoScrollGridView photoGrid;//相片缩略图GridView    @ViewById(R.id.attendance_detail_tv_type)    TextView tv_type;    @ViewById(R.id.attendance_detail_tv_time)    TextView tv_time; //定位    @ViewById(R.id.bmapView)    MapView mMapView;    //地图    private BaiduMap mBaiduMap;    private LatLng mLatLng;    private BitmapDescriptor mBitmapDescriptor;    //图片    private ArrayList photosList = new ArrayList();//照片URL集合    private PhotoGridAdapter photoGridAdapter;//相片GridView适配器    @AfterViews    void init() {        //在使用SDK各组件之前初始化context信息,传入ApplicationContext        header_layout.setMidTitle(getString(R.string.attendance_detail)); //设置标题        tv_type.setText(attendanceInfoModel.placeName);        tv_time.setText(attendanceInfoModel.updateTime);        initPhoto();        initMap();    }    private void initPhoto() {        photosList = attendanceInfoModel.picList;        if (BaseUtils.listIsNullOrEmpty(photosList)) {            return;        }        //设置图片浏览        photoGridAdapter = new PhotoGridAdapter(this);        photoGridAdapter.setPhotosList(photosList);        photoGridAdapter.setDisplayDelImage(false);        photoGrid.setAdapter(photoGridAdapter);        photoGrid.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                AppUtils.imageBrower(AttendanceDetailActivity.this, position, photosList);            }        });        photoGridAdapter.notifyDataSetChanged();    }    /**     * 初始化地图设置,添加标注信息     */    private void initMap() {        mBaiduMap = mMapView.getMap();        mLatLng = getLatLng();        if (mLatLng == null) {            tv_no_loc.setVisibility(View.VISIBLE);            mMapView.setVisibility(View.GONE);            return;        }        setCenterMap();//首先设置中心点        addOverlay();//添加标注        addInfoWindow();//添加覆盖文字    }    /**     * 添加覆盖文字     */    private void addInfoWindow() {        View view = getLayoutInflater().inflate(R.layout.map_popview_child, null);        TextView textView = (TextView) view.findViewById(R.id.titlename);        textView.setText(attendanceInfoModel.address);        InfoWindow.OnInfoWindowClickListener listener = new InfoWindow.OnInfoWindowClickListener() {            @Override            public void onInfoWindowClick() {                mBaiduMap.hideInfoWindow();            }        };        // 创建InfoWindow        InfoWindow mInfoWindow = new InfoWindow(view, mLatLng, 0);        // 显示InfoWindow        mBaiduMap.showInfoWindow(mInfoWindow);    }    /**     * 添加标注     */    private void addOverlay() {        //这里以后可以做成动画效果//        ArrayList giflist = new ArrayList();//        giflist.add(BitmapDescriptorFactory.fromResource(R.drawable.ico_location_black));//        giflist.add(BitmapDescriptorFactory.fromResource(R.drawable.ico_location_arrow));        mBitmapDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.ico_location_arrow);        OverlayOptions options = new MarkerOptions().position(mLatLng).icon(mBitmapDescriptor).zIndex(1).draggable(true);//设置:坐标-图标-z轴索引-可拖拽        mBaiduMap.addOverlay(options);    }    /**     * 设置中心点     */    private void setCenterMap() {        //定义地图状态        MapStatus mMapStatus = new MapStatus.Builder().target(mLatLng).zoom(18).build();        //定义MapStatusUpdate对象,以便描述地图状态将要发生的变化        MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory.newMapStatus(mMapStatus);        //改变地图状态        mBaiduMap.setMapStatus(mMapStatusUpdate);    }    private LatLng getLatLng() {        double logitude = 113.15;        double latitude = 23.06;        //定义文字所显示的坐标点        if (!TextUtils.isEmpty(attendanceInfoModel.longitude)) {            logitude = Double.parseDouble(attendanceInfoModel.longitude);        } else {            return null;        }        if (!TextUtils.isEmpty(attendanceInfoModel.latitude)) {            latitude = Double.parseDouble(attendanceInfoModel.latitude);        } else {            return null;        }        return new LatLng(latitude, logitude);    }    @Override    public void onDestroy() {        super.onDestroy();        //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理        mMapView.onDestroy();    }    @Override    protected void onResume() {        super.onResume();        //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理        mMapView.onResume();    }    @Override    protected void onPause() {        super.onPause();        //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理        mMapView.onPause();    }}


更多相关文章

  1. Android(安卓)8.0 设置默认闹钟提示音或者默认通知提示音
  2. android学习轨迹之二:Android权限标签uses-permission的书写位置
  3. android EditText使用指南
  4. android 设置桌面背景
  5. Android中万能适配器
  6. Android(安卓)Studio(十):添加assets目录
  7. Android(安卓)下拉刷新控件SwipeRefreshLayout结合WebView使用
  8. Android中imageView图片放大缩小及旋转功能示例代码
  9. Android中PopupWindow用法

随机推荐

  1. PHP的Excel导出与导入
  2. 后台五 角色管理
  3. 前端用Ajax实现数据异步加载,无刷新分页(核
  4. C语言循环分支结构深度总结实践
  5. Windows常用软件
  6. 数据产品新人的三大有毒问题,你犯了吗?
  7. docker安装
  8. 多厂商***系列之十七:华为AR系列路由器 实
  9. 文件夹管理: mv cp rm touch mkdir L
  10. 安装atnmp