Javascript HTML5地理位置显示两个位置之间的驾驶时间?
我正试图在我的项目中使用HTML5 gelocation。到目前为止还不错,但有一件事我正在努力解决,那就是我无法在两个不同的地点之间获得驾驶时间 嗯,确切地说,我可以用小时、分钟来计算时间,但似乎我需要用谷歌地图来计算时间,我不想 这是一把摆弄地图的小提琴: 或者你可以查看它 代码如下:Javascript HTML5地理位置显示两个位置之间的驾驶时间?,javascript,html,Javascript,Html,我正试图在我的项目中使用HTML5 gelocation。到目前为止还不错,但有一件事我正在努力解决,那就是我无法在两个不同的地点之间获得驾驶时间 嗯,确切地说,我可以用小时、分钟来计算时间,但似乎我需要用谷歌地图来计算时间,我不想 这是一把摆弄地图的小提琴: 或者你可以查看它 代码如下: (function () { var directionsService = new google.maps.DirectionsService(), directionsDispla
(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 : "Alexanderplatz, Berlin",
travelMode : google.maps.DirectionsTravelMode.DRIVING
// Exchanging DRIVING to WALKING above can prove quite amusing <img src="http://robertnyman.com/wp-includes/images/smilies/icon_smile.gif" alt=":-)" class="wp-smiley">
},
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 : "Sveavägen, Stockholm"
});
}
);
}
else {
// No geolocation fallback: Defaults to Lisbon, Portugal
createMap({
coords : false,
address : "Lisbon, Portugal"
});
}
})();
(函数(){
var directionsService=new google.maps.directionsService(),
directionsDisplay=新建google.maps.DirectionsRenderer(),
createMap=函数(开始){
var行程={
来源:(start.coords)?新的google.maps.LatLng(start.lat,start.lng):start.address,
目的地:“柏林亚历山大广场”,
travelMode:google.maps.Directions travelMode.DRIVING
//把开车换成在上面走会很有趣
},
映射选项={
缩放:10,
//默认视图:斯德哥尔摩市中心
中心:新google.maps.LatLng(59.3325215,18.0643818),
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById(“map”)、mapOptions);
方向显示.setMap(地图);
directionsDisplay.setPanel(document.getElementById(“地图方向”);
方向服务.路线(行程,功能(结果,状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(结果);
}
});
};
//检查地理定位支持
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(函数(位置){
//成功!
创建地图({
库德:没错,
纬度:位置坐标纬度,
lng:position.coords.longitude
});
},
函数(){
//Gelocation备用:默认为瑞典斯德哥尔摩
创建地图({
coords:错,
地址:“斯德哥尔摩斯维亚夫根”
});
}
);
}
否则{
//无地理位置回退:默认为葡萄牙里斯本
创建地图({
coords:错,
地址:“葡萄牙里斯本”
});
}
})();
如果您查看驾驶方向文本的顶部,您将看到时间以小时为单位显示
这基本上就是我需要的,但我只需要它,而不需要其他的东西,比如地图,驾驶方向等等
问题:
是否有可能在不使用谷歌地图和不显示所有驾驶说明等的情况下获得每个地理位置之间的驾驶时间
任何帮助都将不胜感激地理定位只做一件事:告诉您所在位置的坐标。剩下的就是谷歌地图服务。谷歌很清楚,条款和条件说,如果你想使用他们的服务,你必须在你的页面上显示地图。@Emmanueldlay,那么你认为如果我在我的页面上显示地图,但将宽度/高度设置为1px,使其几乎不可见,我会违反他们的TOS吗?我不清楚。当然在技术上是可能的;这显然不是谷歌的意图,但我不知道你到底能走多远。