zoukankan      html  css  js  c++  java
  • 百度map android sdk3.5实现定位 并跳转的指定坐标,加入标记

    前几天又下载了新的百度地图sdk,3.5版本号。发现百度地图api有了较大变化


    定位和3.0版本号差点儿相同

    可是设置地图中心和加入maker标记有较大变化

    设置地图中心点

    // 定义地图状态zoom表示缩放级别3-18
    MapStatus mMapStatus = new MapStatus.Builder().target(cenpt)
    .zoom(14).build();
    // 定义MapStatusUpdate对象。以便描写叙述地图状态将要发生的变化
    MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory
    .newMapStatus(mMapStatus);
    // 改变地图状态
    // 开启定位图层
    mMapView.getMap().setMapStatus(mMapStatusUpdate);

    加入maker标记

    // 定义Maker坐标点
    // 构建Marker图标
    BitmapDescriptor bitmap = BitmapDescriptorFactory
    .fromResource(R.drawable.ic_launcher);
    // 构建MarkerOption,用于在地图上加入Marker
    OverlayOptions option = new MarkerOptions().position(cenpt).icon(
    bitmap);
    // 在地图上加入Marker,并显示
    mMapView.getMap().clear();
    mMapView.getMap().addOverlay(option);
    mLocationClient.stop();








    完整代码例如以下

    public class MapActivity extends BaseActivity {
    MapView mMapView;


    public LocationClient mLocationClient = null;
    public BDLocationListener myListener = new MyLocationListener();


    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    SDKInitializer.initialize(getApplicationContext());
    setContentView(R.layout.activity_mapview);
    mMapView = (MapView) findViewById(R.id.bmapView);


    mLocationClient = new LocationClient(getApplicationContext()); // 声明LocationClient类
    mLocationClient.registerLocationListener(myListener); // 注冊监听函数
    mLocationClient.start();
    }


    @Override
    protected void onDestroy() {
    super.onDestroy();
    // 在activity运行onDestroy时运行mMapView.onDestroy()。实现地图生命周期管理
    mMapView.onDestroy();
    mLocationClient.stop();
    }


    @Override
    protected void onResume() {
    super.onResume();
    // 在activity运行onResume时运行mMapView. onResume ()。实现地图生命周期管理
    mMapView.onResume();
    }


    @Override
    protected void onPause() {
    super.onPause();
    // 在activity运行onPause时运行mMapView. onPause (),实现地图生命周期管理
    mMapView.onPause();
    }


    public class MyLocationListener implements BDLocationListener {
    @Override
    public void onReceiveLocation(BDLocation location) {
    if (location == null)
    return;
    StringBuffer sb = new StringBuffer(256);
    sb.append("time : ");
    sb.append(location.getTime());
    sb.append(" error code : ");
    sb.append(location.getLocType());
    sb.append(" latitude : ");
    sb.append(location.getLatitude());
    sb.append(" lontitude : ");
    sb.append(location.getLongitude());
    sb.append(" radius : ");
    sb.append(location.getRadius());
    if (location.getLocType() == BDLocation.TypeGpsLocation) {
    sb.append(" speed : ");
    sb.append(location.getSpeed());
    sb.append(" satellite : ");
    sb.append(location.getSatelliteNumber());
    } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {
    sb.append(" addr : ");
    sb.append(location.getAddrStr());
    }
    System.out.println("" + sb.toString());
    LatLng cenpt = new LatLng(location.getLatitude(),
    location.getLongitude());
    // 定义地图状态zoom表示缩放级别3-18
    MapStatus mMapStatus = new MapStatus.Builder().target(cenpt)
    .zoom(14).build();
    // 定义MapStatusUpdate对象,以便描写叙述地图状态将要发生的变化
    MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory
    .newMapStatus(mMapStatus);
    // 改变地图状态
    // 开启定位图层
    mMapView.getMap().setMapStatus(mMapStatusUpdate);




    // 定义Maker坐标点
    // 构建Marker图标
    BitmapDescriptor bitmap = BitmapDescriptorFactory
    .fromResource(R.drawable.ic_launcher);
    // 构建MarkerOption。用于在地图上加入Marker
    OverlayOptions option = new MarkerOptions().position(cenpt).icon(
    bitmap);
    // 在地图上加入Marker,并显示
    mMapView.getMap().clear();
    mMapView.getMap().addOverlay(option);
    mLocationClient.stop();
    }
    }


    }

  • 相关阅读:
    docker安装
    win8换win7的操作方法
    java数组实现队列
    springMVC源码学习之获取参数名
    SpringMVC源码学习之request处理流程
    LeetCode 231. Power of Two
    LeetCode 202. Happy Number
    LeetCode 171. Excel Sheet Column Number
    Eclipse 保存代码时,不自动换行设置
    LeetCode 141. Linked List Cycle
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5084729.html
Copyright © 2011-2022 走看看