谷歌路线规划模式

时间:2013-01-21 08:00:50

标签: javascript jquery google-maps

当涉及到javascript时,我有点犹豫不决。我有一个谷歌地图简单脚本,用于路由从A到B的路线。除了我想将模式(驾驶,步行......)从当前下拉选择器更改为单选按钮之外,一切正常。

我在网上和stackoverflow上搜索过,但目前没有为此找到有效的解决方案。

我的HTML:

<select id="mode">
     <option selected="selected" value="DRIVING">Car</option>
     <option value="WALKING">Walk</option>
     <option value="TRANSIT">Public transport</option>
     <option value="BICYCLING">Bike</option>
</select>

和脚本:

function calcRoute() {
var selectedMode = document.getElementById('mode').value;
var start = document.getElementById("routeStart").value;
var end = document.getElementById("routeEnd").value;
var request = {
    origin: start,
    destination: end,
    travelMode: google.maps.TravelMode[selectedMode]
};

是否可以将选择(下拉列表)更改为上述代码中的单选按钮,或者我是否应该发布其他内容?

P.S。 我也尝试了this solution,但是当我提交计算路线时,它只是将我重定向到空白子页/模式?

谢谢:)

1 个答案:

答案 0 :(得分:1)

我希望您在谈论Radio Buttons而不是Checkbox,因为可以选择多个复选框,这些复选框无法按预期工作。单选按钮分组具有相同的名称和不同的ID,其中一个将checked属性设置为true,因此循环遍历它们直到找到它。

创建一个新功能以查找已选中然后替换的单选按钮 var selectedMode = document.getElementById('mode')。value;使用下面给出的代码:

function getCheckedRadio(radio_group) {
    for (var i = 0; i < radio_group.length; i++) {
        var button = radio_group[i];
        if (button.checked) {
            return button;
        }
    }
    return undefined;
}

var selectedMode = getCheckedRadio(document.forms.frmId.elements.groupName).value;