Я пишу андроид-программу, в которой пользователь пишет в месте отправления, отправления и времени отправления или прибытия.После того, как пользователь нажал «Поиск», появилось несколько разных карточек, каждая из которых представляет разные виды транспорта (автомобиль, ходьба, езда на велосипеде и транзит).На каждой карточке есть кнопка, которая должна открывать приложение Google Maps с тем, что пользователь уже ввел в приложение.К сожалению, я не могу получить время отправления / прибытия, чтобы перенести.По умолчанию всегда используется значение «сейчас».
На данный момент я обнаружил, что вы должны добавить &arrival_time=[TIME]
или &departure_time=[TIME]
.Но это не похоже на работу.Когда это добавлено, похоже, что его там вообще не было.
Вот пример ссылки, которую я сделал: https://maps.google.com/maps?saddr=57.70887000,11.97456000&daddr=59.32932350,18.06858080&dirflg=r&departure_time=1559310240
private void openMaps(Trip trip) {
String uri = "https://maps.google.com/maps" +
"?saddr="+trip.getOrigin()+
"&daddr="+trip.getDestination()+
"&dirflg="+getDirFlag(trip.getMode());
if (trip.getMode().equals(TravelMode.TRANSIT)) {
ZoneId zoneId = ZoneId.systemDefault(); // or: ZoneId.of("Europe/Oslo");
if(trip.getIsDeparture()) {
long epoch = trip.getDeparture().atZone(zoneId).toEpochSecond();
uri += "&departure_time=" + epoch;
} else {
long epoch = trip.getArrival().atZone(zoneId).toEpochSecond();
uri += "&arrival_time=" + epoch;
}
}
System.out.println(uri);
Intent mapIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
mapIntent.setPackage("com.google.android.apps.maps");
mCtx.startActivity(mapIntent);
}
Я ожидаю, что приложение Google Maps будет открыто спункт отправления, пункт назначения, способ транспорта и, если тип транспорта - TRANSIT, он также должен установить время отправления или прибытия в зависимости от того, что возвращает getIsDeparture ().Все работает, кроме времени прибытия / отправления