带有路径点的Google Maps Intent的URI



我想添加到我的应用程序的能力,打开谷歌地图应用程序超过2个点,但我只能设置起点和终点。如何添加路点?我已经尝试过在https://stackoverflow.com/a/13565504/3626048中描述的uri,但它不起作用。在Google Maps文档https://developers.google.com/maps/documentation/android/intents中也没有关于它的任何内容。是否有可能在谷歌地图意图中添加路径点?

感谢@kaho,对于这个"我认为你可以在目的地地址后使用+to:waypoint"。

这适用于我的多个路径点:

  RealmList<LocationEntity> list = routeEntity.getStops();
  ArrayList<Map<String,Object>> latLang = new ArrayList<>();
  for (LocationEntity location: list){
    latLang.add(location.toMap());
  }

  String jsonURL = "https://maps.google.com/maps?";
  final StringBuffer sBuf = new StringBuffer(jsonURL);
  sBuf.append("saddr=");
  sBuf.append(destLat);
  sBuf.append(',');
  sBuf.append(destLong);
  sBuf.append("&daddr=");
  sBuf.append(sourceLat);
  sBuf.append(',');
  sBuf.append(sourceLong);
  sBuf.append("+to:");
  sBuf.append(latLang.get(0).get("latitude"));
  sBuf.append(',');
  sBuf.append(latLang.get(0).get("longitude"));
  sBuf.append("+to:");
  sBuf.append(latLang.get(1).get("latitude"));
  sBuf.append(',');
  sBuf.append(latLang.get(1).get("longitude"));
  sBuf.append("+to:");
  sBuf.append(latLang.get(2).get("latitude"));
  sBuf.append(',');
  sBuf.append(latLang.get(2).get("longitude"));
  sBuf.append("+to:");
  sBuf.append(latLang.get(3).get("latitude"));
  sBuf.append(',');
  sBuf.append(latLang.get(3).get("longitude"));
  sBuf.append("+to:");
  sBuf.append(latLang.get(4).get("latitude"));
  sBuf.append(',');
  sBuf.append(latLang.get(4).get("longitude"));
  // sBuf.append("&sensor=true&mode=DRIVING");
  sBuf.append("&key=");
  sBuf.append("Your_API_KEY");
  MISLog.printDebug(sBuf);
  Intent sendLocationToMap = new Intent(Intent.ACTION_VIEW,
    Uri.parse(sBuf.toString()));
  startActivity(sendLocationToMap);

我认为您可以在目的地址后使用+to:waypoint。例如:

https://www.google.com/maps?saddr=San + Francisco& daddr = GooglePlex +山+视图+:圣+何塞。

或:

https://www.google.com/maps?saddr=San + Francisco& daddr = GooglePlex +山+视图+:谷歌+建筑+ 45 +:圣+何塞。

相关内容

  • 没有找到相关文章

最新更新