URI for Google Maps Intent with waypoints

前端 未结 2 802
闹比i
闹比i 2021-01-07 13:25

I would like to add to my app ability to open Google Maps app with more than 2 points but I can only set start point and end point. How to add waypoints? I\'ve tried uri as

2条回答
  •  梦毁少年i
    2021-01-07 14:12

    Thanks to @kaho, for this "I think you can use +to:waypoint after the destination address."

    This works for me with multiple way points:

      RealmList list = routeEntity.getStops();
      ArrayList> 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);
    

提交回复
热议问题