我有一个计算两点之间距离的应用程序。
https://maps.googleapis.com/maps/api/distancematrix/json?origins=" +起源+"& destinations =" +目的地+"& units = imperial ......
我将单位设置为英制,但有些距离以公里和英尺返回。我是否需要设置任何其他参数。
提前致谢
答案 0 :(得分:1)
如果要得出公里,请使用 unitSystem:google.maps.UnitSystem.METRIC 。 如果要得到 Miles (里程),请使用 unitSystem:google.maps.UnitSystem.IMPERIAL 。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY"></script>
<script>
$(document).ready(function(){
var distanceService = new google.maps.DistanceMatrixService();
distanceService.getDistanceMatrix({
origins: ["10 West 35th Street, Chicago, IL, USA"], //$("#autocompleteDeparture").val()
destinations: ["Union Station, South Canal Street, Chicago, IL, USA"], //$("#autocompleteArrival").val()
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.IMPERIAL, //use "IMPERIAL" for Miles, "METRIC" for KMs
durationInTraffic: true,
avoidHighways: false,
avoidTolls: false
},
function (response, status) {
if (status !== google.maps.DistanceMatrixStatus.OK) {
console.log('Error:', status);
} else {
console.log(response);
}
});
});
</script>
</head>
<body>
</body>
</html>
答案 1 :(得分:0)
distance.text字段以请求中传递的单位表示; distance.value字段始终以米为单位。
请参阅the Distance Matrix developer guide,您就会发现这个模糊:
注意:此单位系统设置仅影响距离字段中显示的文本。距离字段还包含始终以米为单位的值。
答案 2 :(得分:0)
这是我用来获取距离(英里)的代码。
方法1:
您将必须使用密钥调用google map api JS库,然后使用以下代码。
var origin1 = new google.maps.LatLng(55.930385, -3.118425);
var origin2 = 'Greenwich, England';
var destinationA = 'Stockholm, Sweden';
var destinationB = new google.maps.LatLng(50.087692, 14.421150);
//var uniteSystem = 'IMPERIAL';
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [origin1],
destinations: [destinationA],
travelMode: 'DRIVING' ,
unitSystem: google.maps.UnitSystem.IMPERIAL
}
, callback);
function callback(response, status) {
// See Parsing the Results for
// the basics of a callback function.
console.log(response);
}
您将有一个元素数组作为响应。
方法2: 这是我用来获取距离的url方法。 https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=40.6655101,-73.89188969999998&destinations=41.43206,-81.38992&key=TOUR_API_KEY
记住要更改API密钥。