将谷歌地图上的单位从公制改为英制
Changing the units on google maps from metric to imperial
我有以下代码:
<script>
var rendererOptions = {
draggable: false
};
var directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);;
var directionsService = new google.maps.DirectionsService();
var map;
var England = new google.maps.LatLng(53.7415, 1.6860);
function initialize() {
var mapOptions = {
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: England
};
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
map.setTilt(45);
directionsDisplay.setMap(map)
directionsDisplay.setPanel(document.getElementById('directionsPanel'));
google.maps.event.addListener(directionsDisplay, 'directions_changed', function() {
computeTotalDistance(directionsDisplay.directions);
});
calcRoute();
}
function calcRoute() {
var request = {
origin: 'postcode',
destination: 'postcode',
waypoints:[{location: 'waypoint postcode'}, {location: 'waypoint postcode'}, {location: 'waypoint postcode'}],
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}
function computeTotalDistance(result) {
var total = 0;
var myroute = result.routes[0];
for (i = 0; i < myroute.legs.length; i++) {
total += myroute.legs[i].distance.value;
}
total = total / 1000.
document.getElementById('total').innerHTML = total + ' km';
}
</script>
</head>
<body onload="initialize()">
<div id="map_canvas" style="float:left;width:70%; height:100%"></div>
<div id="directionsPanel" style="float:right;width:30%;height 100%">
<p>Total Distance: <span id="total"></span></p>
</div>
地图,显示了一个起点和目的地,沿途有特定的路点,使用谷歌api的方向服务。方向面板以公制单位显示所有距离。我如何改变它,使所有的距离都以英制单位表示,即英里,英尺?
From the docs
单元系统
默认情况下,方向计算和显示使用单位原产地国家或地区的系统。(注:表示出处总是使用纬度/经度坐标而不是地址默认为公制单位。)例如,一条从芝加哥到芝加哥的路线"多伦多,安大略省"将以英里为单位显示结果,而相反的路线将以公里为单位显示结果。你可以推翻这个单位系统方法之一在请求中显式地设置一个以下UnitSystem值:
UnitSystem.METRIC
指定公制系统的使用。距离以公里表示。UnitSystem.IMPERIA
L指定使用英制(英文)系统。距离以英里表示。注意:这个单位制设置只影响文本显示到用户。方向结果也包含距离值,没有显示给用户,通常用米表示。
相关文章:
- 谷歌地图固定位置覆盖
- 不显示带有本地json文件数据的谷歌地图脚本
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 谷歌地图标记不会显示
- 无法在JS中显示谷歌地图
- 科尔多瓦页面类应用程序中的多个谷歌地图
- 需要帮助谷歌地图方向面板在FancyBox中显示
- 在谷歌地图上获取事件的x,y坐标
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 模拟谷歌地图中的点击
- 如何知道哪个标记被谷歌地图点击了
- 谷歌地图JS API+JSON-多个标记没有显示
- 缓存谷歌地图数据
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- 在谷歌地图上绘制位置数据库
- 标记的实时更新,无需加载页面谷歌地图API V3
- 可以't计算自定义谷歌地图的js
- 获取宽度(以公里为单位)的谷歌地图 API 地图
- 谷歌地图v3-以英里为单位的可查看地图半径
- 将谷歌地图上的单位从公制改为英制