使用下拉列表切换谷歌地图上的位置

时间:2013-04-17 22:22:29

标签: google-maps

我是谷歌地图的新手,我有一个带有多个标记的地图,我想使用下拉菜单在它们之间切换。

我正在使用此代码使用标记'title:

填充下拉菜单
// select a marker from dropdown menu
$("select#mySelect").change(function(){ 
      gotoMarker($(this).val()); 
});

function makeMarkerList() {
        var options = "";
        $("select#mySelect").empty();
        for (var i in markers) {
            options += "<option value='" + i + "'>" + markers[i].map.title + "</option>";
        }
        $("select#mySelect").html(options);
}

这是我到目前为止jsfiddle

这会在地图上方显示一个下拉菜单,但我不知道如何在下拉菜单中获取标记标题。

感谢您的帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

关于您的第二个问题:您的原始代码(如下所示)试图将下拉列表中所选项目的值传递给panTo()方法。但是,由于您设置的方式,该值只是markers数组中标记的索引,而不是LatLng对象。将该索引传递给panTo()方法会产生错误。

$("select#mySelect").change(function(){ 
      //gotoMarker($(this).val());
    map.panTo($(this).val().getPosition());
});

要解决此问题,请获取索引,然后使用markers数组中的相应标记:

$("select#mySelect").change(function(){ 
    var index = $(this).val();
    map.panTo(markers[index].position);
});