在android中创建一个带路径查找的地图

时间:2015-03-14 06:31:28

标签: java android

我目前正在开发一个关于android开发的项目。我想在android中创建一个带有寻路的地图(它突出显示你在地图上选择的两个点之间的最短路径)。

我有android studio,我也在.png文件中创建了一个地图。我将使用A-star搜索作为我的寻路算法。当前位置由用户手动设置,因此无需启用gps。

那么我需要做些什么呢?

我是Android新手,但我非常擅长java,所以任何答案都会非常感激。

1 个答案:

答案 0 :(得分:0)

对于绘图地图,您可以使用以下代码:

要求打印位置路线:

   GmapV2Direction route;
   Document document;

 LatLng toPosition = new LatLng(routeData.get(i).latitude, routeData.get(i).longitude);
                        new GetRouteTask() {
                            @Override
                            protected void onPostExecute(String s) {
                                super.onPostExecute(s);
                            }
                        }.execute((LatLng) toPosition);



private class GetRouteTask extends AsyncTask<LatLng, Void, String> {

        String response = "";

        @Override
        protected String doInBackground(LatLng... params) {
            document = route.getDocument(fromPosition, params[0], GmapV2Direction.MODE_WALKING);//fromPosition is another LatLng object.can be your current location.
            response = "Success";
            return response;
        }

        @Override
        protected void onPostExecute(String s) {
            // directionMap.clear();

            if (response.equalsIgnoreCase("Success")) {
                Log.v("Map", "got here");
                ArrayList<LatLng> directionPoint = route.getDirection(document);
                PolylineOptions rectLine = new PolylineOptions().width(10).color(
                        Color.RED);

                for (int i = 0; i < directionPoint.size(); i++) {
                    rectLine.add(directionPoint.get(i));
                }
                // Adding route on the map

                map.addPolyline(rectLine);
            }

        }
    }