我使用此示例实现了Google地图商店定位器:https://developers.google.com/maps/articles/phpsqlsearch_v3
它工作正常,但我试图让列表显示在实际ul
而不是下拉列表中。我已将结果更改为显示为li
,但我无法使链接生效。
它目前链接到下拉菜单中的所选选项,但我想改为每个li
一个链接。这是我需要改变的一点:
function load() {
map = new google.maps.Map(document.getElementById("map"), {
center: new google.maps.LatLng(53.438065, -1.823730),
zoom: 4,
mapTypeId: 'roadmap',
mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}
});
infoWindow = new google.maps.InfoWindow();
locationSelect = document.getElementById("locationSelect");
locationSelect.onchange = function() {
var markerNum = locationSelect.options[locationSelect.selectedIndex].value;
if (markerNum != "none"){
google.maps.event.trigger(markers[markerNum], 'click');
}
};
}
function searchLocations() {
var address = document.getElementById("addressInput").value;
var geocoder = new google.maps.Geocoder();
geocoder.geocode({address: address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
searchLocationsNear(results[0].geometry.location);
} else {
alert(address + ' not found');
}
});
}
答案 0 :(得分:2)
因此,您可以在所有li项目上添加点击事件,并在该点击事件中传递标记号,如下所示:
function selectMarker(markerNum) {
google.maps.event.trigger(markers[markerNum], 'click');
};
此selectMarker函数必须适用于所有li才能使其正常工作。