Google maps 使用下拉菜单切换谷歌地图上的位置

Google maps 使用下拉菜单切换谷歌地图上的位置,google-maps,Google Maps,我是谷歌地图的新手,我有一个带有多个标记的地图,我想使用下拉菜单在它们之间切换 我正在使用此代码用标记的标题填充下拉菜单: //从下拉菜单中选择一个标记 $selectmySelect.changefunction{ gotoMarker$this.val; }; 函数标记列表{ var期权=; $selectmySelect.empty; 对于标记中的var i{ 选项+=+标记[i].map.title+; } $selectmySelect.htmloptions; } 这就是我目前所拥有

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

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

//从下拉菜单中选择一个标记 $selectmySelect.changefunction{ gotoMarker$this.val; }; 函数标记列表{ var期权=; $selectmySelect.empty; 对于标记中的var i{ 选项+=+标记[i].map.title+; } $selectmySelect.htmloptions; } 这就是我目前所拥有的

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

我感谢你的帮助


谢谢。

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

$("select#mySelect").change(function(){ 
      //gotoMarker($(this).val());
    map.panTo($(this).val().getPosition());
});
要解决此问题,请获取索引,然后使用标记数组中相应的标记:


我想你差不多有了。在makeMarkerList函数中,不使用标记[i].map.title,只需执行标记[i].title即可。我没有看到任何调用此函数的操作,但您需要执行以下操作,以确保在加载文档后调用此函数:$document.readyfunction{makeMarkerList;};谢谢,我设法让下拉菜单有标记标题作为选项。现在,我添加了map.panTo以使选定的标记在地图上居中,但仍然不起作用。。你能帮忙吗?这是升级的JSFIDLE:谢谢你的帮助。。现在,当我手动将LatLng值添加到select选项值时,panTo不再移动。。不过,警报显示的值是正确的。如果您能查看我的最新谢意,我将不胜感激。由于已将select中的值更改为包含纬度/经度的逗号分隔字符串,因此现在需要从该字符串构造新的LatLng对象。此外,虽然您选择的地点是加利福尼亚州和华盛顿特区,但您使用的实际lat/lng值与这些地点相差甚远;我错误地认为返回的值不需要拆分。。谢谢你,苏尼尔:
$("select#mySelect").change(function(){ 
    var index = $(this).val();
    map.panTo(markers[index].position);
});