Представьте, что я хочу пройти от А до Б через 3 путевые точки. У меня есть этот код, который формирует URL-адрес Google Maps:
fun getMapsApiDirectionsUrl(): String {
val origin = "origin=" + currentLocation.latitude + "," + currentLocation.longitude;
val waypoints = "waypoints=optimize:true|" + loc1.latitude + "," + loc1.longitude + "|" + loc2.latitude + "," + loc2.longitude + "|" + loc3.latitude + "," + loc3.longitude
val destination = "destination=" + loc4.latitude + "," + loc4.longitude
val sensor = "sensor=false"
val key = "key="+API_KEY;
val params = "$origin&$waypoints&$destination&$sensor&$key"
val output = "json"
val url = "https://maps.googleapis.com/maps/api/directions/" + output + "?" + params
System.out.println("map url: "+url)
return url
}
Открытие URL в браузере дало следующее:
{"route": [], "status": "ZERO_RESULTS"}
Но если я использую только 1 путевую точку (вместо 3, как показано выше), направление будет правильно отображаться в 1 большом JSON, например:
{"geocoded_waypoints": [
{
"geocoder_status": "ОК",
"place_id": "ChIJH87yjIXxaS4R5_ww8ZCufeo",
"types": ["одежда_стор", "учреждение", "точка_заинтересованности", "магазин"]
},
{
"geocoder_status": "ОК",
"place_id": "ChIJ1wVXzIDxaS4RkyUYgf3ZV0c",
"types": ["street_address"]
},
{
"geocoder_status": "ОК",
"place_id": "ChIJrfOSGBXxaS4Ro595K_5ClCg",
"types": ["учреждение", "больница", "point_of_interest"]
}], "маршруты": [
{
"границы": {
"к северо-востоку" : {
"lat": -6.2399232,
"lng": 106.8161445
},
"юго-запад": {
"lat": -6.2684858,
"lng": 106,7929824
}
},
«авторские права»: «Картографические данные © Google 2019»,
"ноги": [
{
"расстояние": {
«текст»: «1,2 км»,
«значение»: 1205
},
"продолжительность": {
«текст»: «4 минуты»,
«значение»: 254
},
"end_address": "Jl. Kemang Raya No.54, RT.8 / RW.2, Bangka, Kec. Mampang Prpt., Кота Джакарта Селатан, Дера Хусус
Ibukota Jakarta 12730, Индонезия ",
"end_location": {
"lat": -6.263443499999999,
"lng": 106.8160131 ....
Значит ли это, что я могу использовать только 1 путевую точку?