Javascript Google Maps API v3 travelMode作为变量
我正在尝试将HTML表单中的值(这些值来自单选按钮输入)传递到我的GoogleMapsAPI脚本。我可以对travelMode进行console.log操作,它看起来是正确的,应该可以正常工作,但我一直收到这样的错误:“Uncaught InvalidValueError:in property travelMode:google.maps.travelMode.DRIVING”。如果我取出变量并直接输入驱动模式,它工作正常 有什么好处?以下是我的代码,如果需要,我可以提供更多:Javascript Google Maps API v3 travelMode作为变量,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在尝试将HTML表单中的值(这些值来自单选按钮输入)传递到我的GoogleMapsAPI脚本。我可以对travelMode进行console.log操作,它看起来是正确的,应该可以正常工作,但我一直收到这样的错误:“Uncaught InvalidValueError:in property travelMode:google.maps.travelMode.DRIVING”。如果我取出变量并直接输入驱动模式,它工作正常 有什么好处?以下是我的代码,如果需要,我可以提供更多: // Get
// Get the travel method
if (document.getElementById('bicycle').checked) {
var method = "google.maps.TravelMode.BICYCLING";
} else if (document.getElementById('motorcycle').checked) {
var method = "google.maps.TravelMode.DRIVING";
} else {
var method = "google.maps.TravelMode.DRIVING";
};
console.log(method);
var request = {
origin: start,
destination: end,
travelMode: method,
};
试着这样做:
var method = 'DRIVING';
var request = {
origin: start,
destination: end,
travelMode: google.maps.TravelMode[method]
};
删除引号
if (document.getElementById('bicycle').checked) {
var method = google.maps.TravelMode.BICYCLING;
} else if (document.getElementById('motorcycle').checked) {
var method = google.maps.TravelMode.DRIVING;
} else {
var method = google.maps.TravelMode.DRIVING;
};
这也是可行的,我学到了一些新的东西,我没有意识到你可以用这种格式向请求传递变量。非常感谢。依我看,这比你接受的答案更“干净”,但嘿,这取决于你;-)因为我仍将使用脚本来区分用户选择的方法,所以我认为将整个传输模式传递给请求会更有效。但是,我仍在学习并尝试更好地使用JavaScript,哪种方法是最佳实践?