RoadManager for osmdroid error

前端 未结 3 951
孤城傲影
孤城傲影 2020-12-06 07:41

I am following a tutorial here https://code.google.com/p/osmbonuspack/wiki/Tutorial_1 but I have encountered an error that it doesn\'t show the correct route correctly. It j

3条回答
  •  星月不相逢
    2020-12-06 07:58

    I think it is better to use AsyncTasks in this case:

    /**
         * Async task to get the road in a separate thread. 
         */
        private class UpdateRoadTask extends AsyncTask {
    
            protected Road doInBackground(Object... params) {
                @SuppressWarnings("unchecked")
                ArrayList waypoints = (ArrayList)params[0];
                RoadManager roadManager = new OSRMRoadManager();
    
    
                return roadManager.getRoad(waypoints);
                                                            }
             @Override
            protected void onPostExecute(Road result) {
                road = result;
                 // showing distance and duration of the road 
                Toast.makeText(getActivity(), "distance="+road.mLength, Toast.LENGTH_LONG).show();
                Toast.makeText(getActivity(), "durée="+road.mDuration, Toast.LENGTH_LONG).show(); 
    
                if(road.mStatus != Road.STATUS_OK)
                Toast.makeText(getActivity(), "Error when loading the road - status="+road.mStatus, Toast.LENGTH_SHORT).show();
                Polyline roadOverlay = RoadManager.buildRoadOverlay(road,getActivity());
    
                map.getOverlays().add(roadOverlay);
                map.invalidate();
                //updateUIWithRoad(result);
                                                        }
        }
    

    then call it new UpdateRoadTask().execute(waypoints);

提交回复
热议问题