基于特定标记的setCenter()
setCenter() based on specific marker
我想问一个关于谷歌地图中标记的问题。如果我在地图上有多个标记,我如何瞄准特定的标记?
我已经在下面的地图代码中添加了多个标记:
var markers = [], marker;
function setMarker()
{
var infoWindowContent = [];
for (var i = 0; i < locations.length; i++) {
infoWindowContent[i] = '<div id="content">' +'<h2>' +locations[i][0] +'</h2>' +'<div id="bodyContent"><p>Latitude: ' +locations[i][1] +'<br/>Longitude: ' +locations[i][2] +'<br/>Speed: ' +locations[i][3] +'KM/h</div></div>';
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map,
title: locations[i][0],
id: locations[i][4],
icon: 'http://pickndrop.my/img/school_bus.png'
});
markers.push(marker);
// Display multiple markers on a map
var infoWindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infoWindow.setContent(infoWindowContent[i]);
infoWindow.open(map, marker);
map.setCenter(marker.position);
}
})(marker, i));
}
}
在上面的代码中,我已经制作了一个数组来推送所有标记。现在我想针对一个特定的标记,这样我就可以根据用户输入(从下拉列表)更改地图中心。例如,当用户选择标记1时,地图中心将更改为标记1。我尝试使用下面的代码,但它不起作用。
<select id="children" onchange="setTarget()">
<option value="0">Marker 1</option>
<option value="1">Marker 2</option>
</select>
function setTarget()
{
var x = document.getElementById('children').value;
map.setCenter(markers[x].getPosition());
}
谢谢。
上面的代码运行良好,没有正确地从数据库中检索值是错误的。
相关文章:
- 调整 Adwords 出价排名脚本以应用于特定广告组
- 将jQuery操作应用于特定控件
- 制作表单's onsubmit仅适用于特定提交
- 如何将筛选器应用于特定的数据表
- 将 CSS 样式动态应用于特定元素
- 将 JQuery 脚本应用于特定的网格视图
- 关闭当前浏览器选项卡并专注于特定网址的浏览器选项卡 - javascript/jquery
- 如何查找屏幕宽度并将其应用于特定的 css
- 获取应用于特定元素的所有 css 样式的列表
- 查找元素相对于特定父级的索引
- google.load仅适用于特定页面
- 只有jQuery函数语法适用于特定场景
- XMLHttpRequest只适用于特定的文件扩展名
- 如何使用jQuery检查当前值是否存在于特定元素中
- 在angularJS中,transformrequest只用于特定的请求
- 框架断路器仅适用于特定站点
- 如何阻止CSS规则应用于特定元素
- 如何使用css将边框应用于特定li的锚标记
- 将加载程序应用于特定文件
- 导航菜单悬停效果仅适用于特定场合