我目前正在开发一个关于android开发的项目。我想在android中创建一个带有寻路的地图(它突出显示你在地图上选择的两个点之间的最短路径)。
我有android studio,我也在.png文件中创建了一个地图。我将使用A-star搜索作为我的寻路算法。当前位置由用户手动设置,因此无需启用gps。
那么我需要做些什么呢?
我是Android新手,但我非常擅长java,所以任何答案都会非常感激。
答案 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);
}
}
}