Android 如何使用复选框在地图上显示多段线?
当我单击复选框时,我想知道如何使多段线显示在地图上?定义多段线的对象 多段线 使用下面给出的这个类来拖拽从至至lat,lng的管线Android 如何使用复选框在地图上显示多段线?,android,google-maps,polyline,Android,Google Maps,Polyline,当我单击复选框时,我想知道如何使多段线显示在地图上?定义多段线的对象 多段线 使用下面给出的这个类来拖拽从至至lat,lng的管线 私有类MapDirectionAsync扩展异步任务{ 私人车床 sourceLatLng, 目的地规划; 专用映射方向同步(LatLng源LatLng、LatLng目标LatLng){ this.sourceLatLng=sourceLatLng; this.destinationLatLng=destinationLatLng; } @凌驾 受保护的多段线选项d
私有类MapDirectionAsync扩展异步任务{
私人车床
sourceLatLng,
目的地规划;
专用映射方向同步(LatLng源LatLng、LatLng目标LatLng){
this.sourceLatLng=sourceLatLng;
this.destinationLatLng=destinationLatLng;
}
@凌驾
受保护的多段线选项doInBackground(无效…参数){
GMapV2Direction md=新的GMapV2Direction();
Document doc=md.getDocument(sourceLatLng、destinationLatLng、GMapV2Direction.MODE_驾驶);
如果(doc!=null){
ArrayList directionPoint=md.getDirection(doc);
PolylineOptions rectLine=new PolylineOptions().width(16).color(ContextCompat.getColor(TripsActivity.this,R.color.colorPrimary));
float km=float.parseFloat(md.getdistance文本(doc))/1000;
String km1=String.format(Locale.US,%.1f',km);
Log.e(“谷歌地图路线”,“总公里数:+km1”);
int duration=md.getDurationValue(doc);
Log.e(“谷歌地图路线”,“总持续时间:”+持续时间/60);
对于(int i=0;i
`
private class MapDirectionAsync extends AsyncTask<Void, Void, PolylineOptions> {
private LatLng
sourceLatLng,
destinationLatLng;
private MapDirectionAsync(LatLng sourceLatLng, LatLng destinationLatLng) {
this.sourceLatLng = sourceLatLng;
this.destinationLatLng = destinationLatLng;
}
@Override
protected PolylineOptions doInBackground(Void... params) {
GMapV2Direction md = new GMapV2Direction();
Document doc = md.getDocument(sourceLatLng, destinationLatLng, GMapV2Direction.MODE_DRIVING);
if (doc != null) {
ArrayList<LatLng> directionPoint = md.getDirection(doc);
PolylineOptions rectLine = new PolylineOptions().width(16).color(ContextCompat.getColor(TripsActivity.this, R.color.colorPrimary));
float km = Float.parseFloat(md.getDistanceText(doc)) / 1000;
String km1 = String.format(Locale.US, "%.1f", km);
Log.e("GoogleMapRoute", "Total KM : " + km1);
int duration = md.getDurationValue(doc);
Log.e("GoogleMapRoute", "===============Total Duration : " + duration / 60);
for (int i = 0; i < directionPoint.size(); i++) {
rectLine.add(directionPoint.get(i));
}
return rectLine;
}
return null;
}
@Override
protected void onPostExecute(PolylineOptions rectLine) {
super.onPostExecute(rectLine);
if (rectLine != null) {
polyLine = google_Map.addPolyline(rectLine);
} else {
// No polyLine available
}
}
}