百度地图的使用

  1. 在地图中添加Maker
private void addEndMaker() {
    MapView bMapView;
    LatLng endLatLng;
    BaiduMap mBaiduMap;//百度地图
    mBaiduMap = bMapView.getMap();
    //构建Marker图标
    BitmapDescriptor bitmap = BitmapDescriptorFactory
            .fromResource(R.mipmap.icon_marka);
    //构建MarkerOption,用于在地图上添加Marker
    MarkerOptions option = new MarkerOptions()
            .position(endLatLng)
            .icon(bitmap).title("导航");
    //在地图上添加Marker,并显示
    mBaiduMap.addOverlay(option);
    mBaiduMap.setOnMarkerClickListener(marker -> {
        Button button = new Button(_activity);
        button.setBackgroundResource(R.drawable.rect_transparent_black_with_gray_stroke);
        button.setTextColor(getResources().getColorStateList(R.color.color_defaultTextLighter));
        button.setTextSize(18);
        button.setText(marker.getTitle());
        button.setOnClickListener(v -> {
            mBaiduMap.hideInfoWindow();
            try {
                if (null == currentLatLng) {
                    return;
                }
                // 构建 导航参数
                NaviParaOption para = new NaviParaOption()
                        .startPoint(currentLatLng).endPoint(endLatLng);
                BaiduMapNavigation.openBaiduMapNavi(para, this);
            } catch (BaiduMapAppNotSupportNaviException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
        });
        LatLng markerLatlng = marker.getPosition();
        InfoWindow mInfoWindow = new InfoWindow(button, markerLatlng, -70);
        mBaiduMap.showInfoWindow(mInfoWindow);
        return true;
    });
    mBaiduMap.setOnMapClickListener(new BaiduMap.OnMapClickListener() {
        @Override
        public void onMapClick(LatLng latLng) {
            mBaiduMap.hideInfoWindow();
        }
        @Override
        public boolean onMapPoiClick(MapPoi mapPoi) {
            return false;
        }
    });
}
  1. 在界面上同时显示若干位置;
private void zoom2FitVIew() {
    MapView bMapView = null;
    BaiduMap mBaiduMap = bMapView.getMap();
    LatLng p1 = null;
    LatLng p2 = null;
    mBaiduMap.setOnMapLoadedCallback(() -> {
        LatLngBounds llb = new LatLngBounds.Builder().include(p1).include(p2).build();
        mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newLatLngBounds(llb));
    });
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 如果在你的app中需要用到百度地图,下面是我的一些经验。 网上的那些介绍类似百度地图使用的,多而杂,按照其操作,往...
    时尚灬IT男阅读 7,601评论 1 4
  • 最新百度地图使用注意事项(在使用中出现了引擎失败的家在错误,下边是注意事项) 第一步、引入BaiduMapAPI....
    寒桥阅读 3,014评论 3 5
  • 前言:这次的功能就是选择地址,选择百度地图上的某个地方作为地址。 百度地图引入: 将地图定位点到当前位置: 功能:...
    Powen阅读 1,173评论 0 1
  • 尼古拉斯·罗尔(Nicholas Rule)是自多伦多大学的心理学教授,他说很多人都会通过看脸来猜测别人的生活状况...
    景景相依阅读 144评论 0 0
  • 第三十二章 开启摩天崖(中) 许尽老祖说道:“域外邪灵即是非我族类,是外域的生物物种,他们的修炼方式和功法秘术完全...
    易可风阅读 147评论 0 2