从Google Maps DistanceMatrix API提取距离



我需要计算坐标之间的距离。

我正在使用Google Maps distancemmatrix API:

getDistanceMatrix() async {
try {
var response = await Dio().get('https://maps.googleapis.com/maps/api/distancematrix/json?destinations=${widget.miLatitud},${widget.miLongitud}&origins=${location.latitude},${location.longitude}&key=...');
print("distancia es ${response}");

} catch (e) {
print(e);
}
}

从响应中提取距离的正确方法是什么?

下面是响应输出:

distancia es {"destination_addresses":["Carrer de Sant Ramon, 62, 08140 Caldes de Montbui, Barcelona, Spain"],"origin_addresses":["Plaça de la Porxada, 32, 08401 Granollers, Barcelona, Spain"],"rows":[{"elements":[{"distance":{"text":"13.0 km","value":13012},"duration":{"text":"21 mins","value":1234},"status":"OK"}]}],"status":"OK"}

这是美化后的JSON文件:

{
"destination_addresses":[
"Carrer de Sant Ramon, 62, 08140 Caldes de Montbui, Barcelona, Spain"
],
"origin_addresses":[
"Plaça de la Porxada, 32, 08401 Granollers, Barcelona, Spain"
],
"rows":[
{
"elements":[
{
"distance":{
"text":"13.0 km",
"value":13012
},
"duration":{
"text":"21 mins",
"value":1234
},
"status":"OK"
}
]
}
],
"status":"OK"
}

如您所见,如果您转到rows-elements-distance-value,您将获得以米为单位的结果。

最新更新