0

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

我正在使用此代码来填充带有标记标题的下拉菜单:

// 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

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

我感谢您的帮助。

谢谢你。

4

1 回答 1

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);
});
于 2013-04-18T05:20:39.667 回答