我试图弄清楚如何在我的代码中将KM转换为Google地图中的Miles。
基本上我使用Google地图显示两个位置之间的距离和时间,一切正常,但我遇到的问题是它以KM显示距离,而不是以英里为单位。
是否有任何额外的mapOptions可以用来获取以英里为单位的距离?
这是我的全部代码:
http://jsfiddle.net/1on2yumf/1/
问题在于它显示了jsfiddle中的英里距离,但它显示了以公里为单位的距离 IN MY PAGE 这是我经历过的最奇怪的事情!
我的代码与上面jsfiddle中显示的代码相同。
整个代码:
<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 : "<?php echo $CUpostCode; ?>",
travelMode : google.maps.DirectionsTravelMode.DRIVING
// Exchanging DRIVING to WALKING above can prove quite amusing :-)
},
mapOptions = {
zoom: 2,
// 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) {
window.onload = (function (position) {
// Success!
createMap({
coords : true,
//lat : position.coords.latitude,
//lng : position.coords.longitude
lat : <?php echo $curLat; ?>,
lng : <?php echo $curLon; ?>
});
},
function () {
// Gelocation fallback: Defaults to Stockholm, Sweden
createMap({
coords : true,
//lat : position.coords.latitude,
//lng : position.coords.longitude
lat : <?php echo $curLat; ?>,
lng : <?php echo $curLon; ?>
});
}
);
}
else {
// No geolocation fallback: Defaults to Lisbon, Portugal
createMap({
coords : true,
//lat : position.coords.latitude,
//lng : position.coords.longitude
lat : <?php echo $curLat; ?>,
lng : <?php echo $curLon; ?>
});
}
})();
</script>
并在标题中显示:
<script src="http://maps.google.se/maps/api/js?sensor=false"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
任何建议都将不胜感激。
答案 0 :(得分:1)
我建议明确定义指标
只需在此代码中添加一行unitSystem: google.maps.UnitSystem.METRIC
,如下所示:
var travel = {
origin : (start.coords)? new google.maps.LatLng(start.lat, start.lng) : start.address,
destination : "<?php echo $CUpostCode; ?>",
travelMode : google.maps.DirectionsTravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.IMPERIAL
// Exchanging DRIVING to WALKING above can prove quite amusing :-)
},