我在这里有一个“商店定位器”设置:
http://www.brynei.com/fertdealer_map_bry.htm
lat、lng、姓名、地址、csz 和电话信息存储在 mySQL 数据库中。如果您输入邮政编码 13165,定位器将正常工作。但是,我需要限制一系列邮政编码以显示一个标记,并为一系列邮政编码(66000 到 69999)显示标记 html。这部分实际上是使用函数 searchLocations() 部分使地图居中,但我需要函数 createMarker(latlng, name, address, csz, phone) 和函数 createOption(name, distance, num) 部分的帮助。
目前,如果您使用邮政编码 67501,地图将居中,但不显示任何标记。我需要它在特定位置放置标记,并将 Company Name Inc, 123 Main St, Anywhere KS 67501, 555-555-1234 作为标记 HTML。如果在 66000 到 69999 范围内使用 zip,则该标记将是静态的。
如果这是一个更简单的解决方案,我也可以在数据库方面做一些事情。
任何帮助表示赞赏。
这些是我遇到问题的 3 个部分(功能):
function searchLocations() {
var address = document.getElementById("addressInput").value;
var mylatlng = new google.maps.LatLng(37.928552, -97.898658);
var geocoder = new google.maps.Geocoder();
if (address >= 66000 && address <= 69999) {
map.setCenter(mylatlng);
map.setZoom(10); }
else {
geocoder.geocode({address: address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
searchLocationsNear(results[0].geometry.location); }
else {
alert(address + ' not found');
}
});
}}
function createMarker(latlng, name, address, csz, phone) {
var html = "<font face = 'arial'>" + "<b>" + name + "</b> <br/>" + address + "<br/>" + csz + "<br/>" + phone + "</font>";
var marker = new google.maps.Marker({
map: map,
position: latlng
});
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
markers.push(marker);
}
function createOption(name, distance, num) {
var option = document.createElement("option");
option.value = num;
option.innerHTML = name + "(" + distance.toFixed(1) + ")";
locationSelect.appendChild(option);
}