Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android中创建具有寻路功能的地图_Java_Android - Fatal编程技术网

Java 在android中创建具有寻路功能的地图

Java 在android中创建具有寻路功能的地图,java,android,Java,Android,我目前正在做一个关于android开发的项目。我想在android中创建一个带有寻路功能的地图(它会突出显示地图上所选两点之间的最短路径) 我有android studio,我还用.png文件创建了一个地图。我将使用A星搜索作为我的寻路算法。当前位置由用户手动设置,因此无需启用gps 那么我需要做什么呢 我是android新手,但我非常擅长java,因此任何答案都将不胜感激。要绘制地图,您可以使用以下代码: 要求打印位置路线: GmapV2Direction route; Docu

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

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

那么我需要做什么呢


我是android新手,但我非常擅长java,因此任何答案都将不胜感激。

要绘制地图,您可以使用以下代码:

要求打印位置路线:

   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);
            }

        }
    }
gmapv2定向路由;
文件;
LatLng地形=新LatLng(RoutedData.get(i).纬度,RoutedData.get(i).经度);
新GetRouteTask(){
@凌驾
受保护的void onPostExecute(字符串s){
super.onPostExecute(s);
}
}.执行((车床)定位);
私有类GetRouteTask扩展异步任务{
字符串响应=”;
@凌驾
受保护管柱后台(LatLng…参数){
document=route.getDocument(fromPosition,参数[0],GmapV2Direction.MODE_WALKING);//fromPosition是另一个LatLng对象。可以是您的当前位置。
答复=“成功”;
返回响应;
}
@凌驾
受保护的void onPostExecute(字符串s){
//directionMap.clear();
if(response.equalsIgnoreCase(“Success”)){
Log.v(“地图”,“到达这里”);
ArrayList directionPoint=route.getDirection(文档);
PolylineOptions rectLine=新的PolylineOptions().宽度(10).颜色(
颜色(红色);
对于(int i=0;i
有关更多信息,请点击我。谢谢您的回答。我已经更新了我的帖子。请阅读我的帖子。对不起,我还没有发布更具体的帖子。