implementation 'com.google.maps:google-maps-services:0.1.20'
DateTime now = new DateTime();
try {
final DirectionsResult result = DirectionsApi.newRequest(getGeoContext())
.mode(TravelMode.DRIVING).origin(origin)
.destination(destination).departureTime(now)
.await();
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
addPolyline(result);
}
});
Log.e("ZX", "ZX");
} catch (ApiException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
private void addPolyline(DirectionsResult results) {
List<LatLng> decodedPath = results.routes[0].overviewPolyline.decodePath();
ArrayList<com.google.android.gms.maps.model.LatLng> pathlist = new ArrayList<>();
for (int i = 0; i < decodedPath.size(); i++) {
pathlist.add(new com.google.android.gms.maps.model.LatLng(decodedPath.get(i).lat, decodedPath.get(i).lng));
}
googleMap.addPolyline(new PolylineOptions().addAll(pathlist).color(R.color.linecolor));
}
private GeoApiContext getGeoContext() {
GeoApiContext geoApiContext = new GeoApiContext();
return geoApiContext.setQueryRateLimit(3)
.setApiKey(getString(R.string.google_maps_key))
.setConnectTimeout(1, TimeUnit.SECONDS)
.setReadTimeout(1, TimeUnit.SECONDS)
.setWriteTimeout(1, TimeUnit.SECONDS);
}
DateTime now = new DateTime();
try {
final DirectionsResult result = DirectionsApi.newRequest(getGeoContext())
.mode(TravelMode.DRIVING).origin(origin)
.destination(destination).departureTime(now)
.await();
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
addPolyline(result);
}
});
Log.e("ZX", "ZX");
} catch (ApiException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
private void addPolyline(DirectionsResult results) {
List<LatLng> decodedPath = results.routes[0].overviewPolyline.decodePath();
ArrayList<com.google.android.gms.maps.model.LatLng> pathlist = new ArrayList<>();
for (int i = 0; i < decodedPath.size(); i++) {
pathlist.add(new com.google.android.gms.maps.model.LatLng(decodedPath.get(i).lat, decodedPath.get(i).lng));
}
googleMap.addPolyline(new PolylineOptions().addAll(pathlist).color(R.color.linecolor));
}
private GeoApiContext getGeoContext() {
GeoApiContext geoApiContext = new GeoApiContext();
return geoApiContext.setQueryRateLimit(3)
.setApiKey(getString(R.string.google_maps_key))
.setConnectTimeout(1, TimeUnit.SECONDS)
.setReadTimeout(1, TimeUnit.SECONDS)
.setWriteTimeout(1, TimeUnit.SECONDS);
}
No comments:
Post a Comment