• 百度地图添加覆盖物与给定两点路线规划


    final LatLng ll = new LatLng(latiide, longitude);
                    BitmapDescriptor descriptor = BitmapDescriptorFactory
                            .fromResource(marker);
                    OverlayOptions options = new MarkerOptions().position(ll).icon(
                            descriptor);
                    mBaiduMap.addOverlay(options);

    路线规划:

          mMapView = (MapView) findViewById(R.id.bmapView);
            mBaiduMap = mMapView.getMap();
            search = RoutePlanSearch.newInstance();
            search.setOnGetRoutePlanResultListener(listener);

            //需要规划的两点
            PlanNode st = PlanNode.withLocation(new LatLng(39.931867, 116.395645));
            PlanNode ed = PlanNode.withLocation(new LatLng(39.915267, 116.40355));

             search.walkingSearch(new WalkingRoutePlanOption().from(st).to(ed));

    当然好有他的事件:

    OnGetRoutePlanResultListener listener = new OnGetRoutePlanResultListener() {
            public void onGetWalkingRouteResult(WalkingRouteResult result) {
                // 获取步行线路规划结果
                if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {
                    Toast.makeText(DaoHangActivity.this, "抱歉,未找到结果",
                            Toast.LENGTH_SHORT).show();
                }
                if (result.error == SearchResult.ERRORNO.AMBIGUOUS_ROURE_ADDR) {
                    // 起终点或途经点地址有岐义,通过以下接口获取建议查询信息
                    // result.getSuggestAddrInfo()
                    return;
                }
                if (result.error == SearchResult.ERRORNO.NO_ERROR) {

                    // route = result.getRouteLines().get(0);
                    WalkingRouteOverlay overlay = new MyWalkingRouteOverlay(
                            mBaiduMap);
                    mBaiduMap.setOnMarkerClickListener(overlay);
                    routeOverlay = overlay;
                    overlay.setData(result.getRouteLines().get(0));
                    overlay.addToMap();
                    overlay.zoomToSpan();
                }

            }

            public void onGetTransitRouteResult(TransitRouteResult result) {
                // 获取公交换乘路径规划结果
            }

            public void onGetDrivingRouteResult(DrivingRouteResult result) {
                // 获取驾车线路规划结果
            }

        };
    自定义起点终点 图标:

        private class MyWalkingRouteOverlay extends WalkingRouteOverlay {

            public MyWalkingRouteOverlay(BaiduMap baiduMap) {
                super(baiduMap);
            }

            @Override
            public BitmapDescriptor getStartMarker() {
                if (useDefaultIcon) {
                    return BitmapDescriptorFactory.fromResource(R.drawable.icon_st);
                }
                return null;
            }

            @Override
            public BitmapDescriptor getTerminalMarker() {
                if (useDefaultIcon) {
                    return BitmapDescriptorFactory.fromResource(R.drawable.icon_en);
                }
                return null;
            }
        }

  • 相关阅读:
    数组删除元素注意事项
    点击下拉菜单以外的区域,关闭弹窗
    webpack学习笔记(六)优化
    webpack学习笔记(五)
    webpack学习笔记(四)
    webpack学习笔记(三)
    webpack学习笔记(二)
    es6 笔记
    vue学习笔记——组件的优化
    vue学习笔记——路由
  • 原文地址:https://www.cnblogs.com/yc3120/p/3912607.html
Copyright © 2020-2023  润新知