我在我的网站上使用此脚本:
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script>
(function () {
var directionsService = new google.maps.DirectionsService(),
directionsDisplay = new google.maps.DirectionsRenderer(),
createMap = function (start) {
var travel = {
origin : (start.coords)? new google.maps.LatLng(start.lat, start.lng) : start.address,
destination : "Warszawa, al. jerozolimskie 123",
travelMode : google.maps.DirectionsTravelMode.DRIVING
// Exchanging DRIVING to WALKING above can prove quite amusing :-)
},
mapOptions = {
zoom: 10,
// Default view: downtown Stockholm
center : new google.maps.LatLng(59.3325215, 18.0643818),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map"), mapOptions);
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById("map-directions"));
directionsService.route(travel, function(result, status) {
if (status === google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
};
// Check for geolocation support
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
// Success!
createMap({
coords : true,
lat : position.coords.latitude,
lng : position.coords.longitude
});
},
function () {
// Gelocation fallback: Defaults to Stockholm, Sweden
createMap({
coords : false,
address : "Polska, Warszawa"
});
}
);
}
else {
// No geolocation fallback: Defaults to Lisbon, Portugal
createMap({
coords : false,
address : "Polska, Warszawa"
});
}
})();
</script>
我有问题与Haversine公式连接,他计算我的位置和设置位置之间的道路距离... 我不需要任何地图或公路线 - 只有公里数:)
有人帮我解决这个问题吗?
非常感谢,答案 0 :(得分:0)
我检查了APi并找到了你想要的东西。
之前
directionsService.route(
请务必设置:
unitSystem:google.maps.UnitSystem.METRIC
在旅行变种
中然后在调用路径后,Result是DirectionsResult对象。在那里,你将拥有DirectionRoute数组,它有一个带有距离属性的DirectionsLeg数组。
为您的问题解决此问题应该如下:
var results = result.rows [0] .elements;
var distance = results [0] .distance.text;
distance.text返回“100 km”,其中distance.value只返回“100”,无论你喜欢什么。
当然最好迭代这些数组;)(务必对这些进行检查,因为距离并不总是被填充,在某些情况下距离可能是未知的)
有关API的更多信息,请访问:https://developers.google.com/maps/documentation/javascript/directions?hl=en
PS:请务必使用API的实际版本V3,生成自己的密钥并使用它。 https://developers.google.com/maps/documentation/javascript/tutorial?hl=en#api_key