gpt4 book ai didi

Android:谷歌地图 - 在多个点之间绘制路径

转载 作者:行者123 更新时间:2023-11-29 00:22:26 34 4
gpt4 key购买 nike

我想做的是:

我收到一份方向/路径列表(用户必须使用我的应用程序遵循)。我无法在 map 上绘制路径。方向/路径包含街道名称、街道坐标和街道段。

我不知道如何在 map 上绘制路径/路线并进行路线更新 - 例如,当用户移动(在途中)要移动的图标指示用户的进度或为路线变短了,这真的没那么重要。那么你能指出我可以引用的教程吗?

到目前为止,我已经看到了很多,但大多数都是从谷歌地图上获取方向,或者绘制的线只是从起点到终点的直线,根本不适合街道。

最佳答案

要做到这一点,请按照以下步骤操作

  1. 获取ArrayList标记点列表;

  2. 为其创建标记

  3. 单一路径,

     LatLng origin = markerPoints.get(0);
    LatLng dest = markerPoints.get(1);

    // Getting URL to the Google Directions API
    String url = getDirectionsUrl(origin, dest);

    DownloadTask downloadTask = new DownloadTask();

    // Start downloading json data from Google Directions API
    downloadTask.execute(url);
  4. 对于多个目标路径,例如A-B-D-C等

    private List<String> getDirectionsUrl(ArrayList<LatLng> markerPoints) {
    List<String> mUrls = new ArrayList<>();
    if (markerPoints.size() > 1) {
    String str_origin = markerPoints.get(0).latitude + "," + markerPoints.get(0).longitude;
    String str_dest = markerPoints.get(1).latitude + "," + markerPoints.get(1).longitude;

    String sensor = "sensor=false";
    String parameters = "origin=" + str_origin + "&destination=" + str_dest + "&" + sensor;
    String output = "json";
    String url = "https://maps.googleapis.com/maps/api/directions/" + output + "?" + parameters;

    mUrls.add(url);
    for (int i = 2; i < markerPoints.size(); i++)//loop starts from 2 because 0 and 1 are already printed
    {
    str_origin = str_dest;
    str_dest = markerPoints.get(i).latitude + "," + markerPoints.get(i).longitude;
    parameters = "origin=" + str_origin + "&destination=" + str_dest + "&" + sensor;
    url = "https://maps.googleapis.com/maps/api/directions/" + output + "?" + parameters;
    mUrls.add(url);
    }
    }

    return mUrls;
    }
  5. 调用上面的方法

       List<String> urls = getDirectionsUrl(markerPoints);
    if (urls.size() > 1) {
    for (int i = 0; i < urls.size(); i++) {
    String url = urls.get(i);
    DownloadTask downloadTask = new DownloadTask();
    // Start downloading json data from Google Directions API
    downloadTask.execute(url);
    }
    }
    }

    上面的代码会要求创建多条路径,比如A-B、B-D、D-C等

关于Android:谷歌地图 - 在多个点之间绘制路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22246188/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com