public class AmapDetailActivity extends Activity implements RouteSearch.OnRouteSearchListener, AMap.OnMapClickListener, AMap.OnMarkerClickListener, AMap.OnInfoWindowClickListener, AMap.InfoWindowAdapter {    private MapView mapView;    private AMap aMap;    String latitude;    String longitude;    String supplierLat;    String supplierLog;    private RouteSearch mRouteSearch;    protected LatLonPoint mEndLatlng ;    protected LatLonPoint mStartLatlng ;    private DriveRouteResult mDriveRouteResult;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_detail_amap);        mapView = (MapView) findViewById(R.id.map);        mapView.onCreate(savedInstanceState);// 此方法必须重写
        ButterKnife.inject(this);
       //起点和终点的经纬度(测试的话随便弄两个经纬度进去)
supplierLat = getIntent().getStringExtra( "supplierLat") ;  
         supplierLog = getIntent().getStringExtra("supplierLng");     
         latitude = getIntent().getStringExtra("latitude");       
         longitude = getIntent().getStringExtra("longitude");     
          init();        
         
    setfromandtoMarker();}
 private void setfromandtoMarker() {        aMap.addMarker(new MarkerOptions()                .position(AMapUtil.convertToLatLng(mStartLatlng))                .icon(BitmapDescriptorFactory.fromResource(R.drawable.start)));        aMap.addMarker(new MarkerOptions()                .position(AMapUtil.convertToLatLng(mEndLatlng))                .icon(BitmapDescriptorFactory.fromResource(R.drawable.end)));    }    /**     * 初始化AMap对象     */    private void init() {        if (aMap == null) {            aMap = mapView.getMap();        }//        registerListener();        mRouteSearch = new RouteSearch(this);        mRouteSearch.setRouteSearchListener(this);        mStartLatlng = new LatLonPoint(Double.valueOf(supplierLat), Double.valueOf(supplierLog));        mEndLatlng = new LatLonPoint(Double.valueOf(latitude), Double.valueOf(longitude));        final RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(                mStartLatlng, mEndLatlng);        RouteSearch.DriveRouteQuery query = new RouteSearch.DriveRouteQuery(fromAndTo, RouteSearch.DrivingDefault, null,                null, "");// 第一个参数表示路径规划的起点和终点,第二个参数表示驾车模式,第三个参数表示途经点,第四个参数表示避让区域,第五个参数表示避让道路        mRouteSearch.calculateDriveRouteAsyn(query);// 异步路径规划驾车模式查询    }    private void registerListener() {        aMap.setOnMapClickListener(AmapDetailActivity.this);        aMap.setOnMarkerClickListener(AmapDetailActivity.this);        aMap.setOnInfoWindowClickListener(AmapDetailActivity.this);        aMap.setInfoWindowAdapter(AmapDetailActivity.this);    }    /**     * 方法必须重写     */    @Override    public void onResume() {        super.onResume();        mapView.onResume();    }    /**     * 方法必须重写     */    @Override    public void onPause() {        super.onPause();        mapView.onPause();    }    /**     * 方法必须重写     */    @Override    protected void onSaveInstanceState(Bundle outState) {        super.onSaveInstanceState(outState);        mapView.onSaveInstanceState(outState);    }    /**     * 方法必须重写     */    @Override    protected void onDestroy() {        super.onDestroy();        mapView.onDestroy();    }    @Override    protected void onClick(View v) {    }    @Override    public void onBusRouteSearched(BusRouteResult busRouteResult, int i) {    }    @Override    public void onDriveRouteSearched(DriveRouteResult driveRouteResult, int i) {        aMap.clear();        if (i == 1000) {            if (driveRouteResult != null && driveRouteResult.getPaths() != null) {                if (driveRouteResult.getPaths().size() > 0) {                    mDriveRouteResult = driveRouteResult;                    final DrivePath drivePath = mDriveRouteResult.getPaths()                            .get(0);                    DrivingRouteOverlay drivingRouteOverlay = new DrivingRouteOverlay(this, aMap, drivePath, driveRouteResult.getStartPos(),                            driveRouteResult.getTargetPos());                    drivingRouteOverlay.removeFromMap();                    drivingRouteOverlay.setNodeIconVisibility(false);//隐藏转弯的节点                    drivingRouteOverlay.addToMap();                    drivingRouteOverlay.zoomToSpan();                }            }        }    }    @Override    public void onWalkRouteSearched(WalkRouteResult walkRouteResult, int i) {    }    @Override    public void onMapClick(LatLng latLng) {    }    @Override    public boolean onMarkerClick(Marker marker) {        return false;    }    @Override    public void onInfoWindowClick(Marker marker) {    }    @Override    public View getInfoWindow(Marker marker) {        return null;    }    @Override    public View getInfoContents(Marker marker) {        return null;    }}


更多相关文章

  1. Android(安卓)studio maven pom.xml
  2. 解析ANDROID ps命令执行后各项参数的含义
  3. Android与H5相机、相册笔记
  4. Android之MediaStore应用
  5. execlp启动android进程命令窗口通过adb shell 进入android 的Lin
  6. Android(安卓)MediaStore数据之增删查改剖析
  7. Android(安卓)小项目之--SQLite 使用法门 (附源码)
  8. 浅谈Android的Rotation动画的应用
  9. android 布局中 layout_gravity、gravity、orientation、layout_

随机推荐

  1. android TelephonyManager
  2. 后续:优化
  3. android 自定义dialog去掉白色背景
  4. android 签名验证
  5. Android(安卓)文件读写的例子
  6. [Android(安卓)Tools] Android(安卓)Reve
  7. 调用Android系统设置项
  8. android隐藏显示软键盘
  9. android:xml解析
  10. [转]ANDROID NOTIFICATIONS USING CORDOV