如何设置Google地图的出发/到达时间?

时间:2019-05-22 07:47:53

标签: java android google-maps

我正在编写一个让用户在原点,出发地以及出发或到达时间进行写操作的android程序。用户按下“搜索”后,将显示几个不同的卡,每个卡代表一种不同的运输方式(汽车,步行,骑自行车和公交)。每张卡上都有一个按钮,该按钮应打开Goog​​le 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()返回的值设置出发或到达时间。除到达/离开时间外,其他一切正常

0 个答案:

没有答案