ここに「店舗検索」の設定があります。
http://www.brynei.com/fertdealer_map_bry.htm
lat、lng、name、address、csz、およびphoneの情報は、mySQLデータベースに保存されます。郵便番号13165を入力すると、ロケーターは正常に機能します。ただし、1つのマーカーを表示するように郵便番号の範囲を制限し、郵便番号の範囲(66000〜69999)のマーカーhtmlを表示する必要があります。この部分は、実際には関数searchLocations()セクションを使用してマップを中央に配置するように機能していますが、関数createMarker(latlng、name、address、csz、phone)および関数createOption(name、distance、num)セクションで助けが必要です。
現在、郵便番号67501を使用している場合、地図は中央に配置されますが、マーカーは表示されません。マーカーを特定の場所に配置するために必要です。CompanyNameInc、123 Main St、Anywhere KS 67501、555-555-1234をマーカーHTMLとして使用します。zipが66000〜69999の範囲で使用されている場合、そのマーカーは静的になります。
それがより簡単な解決策であれば、データベース側でも何かを行うことができます。
どんな助けでも大歓迎です。
これらは私が問題を抱えている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);
}