Я ударился головой о стол в последний день или около того и не могу понять это. Когда маркеры добавляются на мою карту, они произвольно генерируют свои метки. Это было бы хорошо, но на странице отображается код PHP, в котором указаны местоположения в указанном порядке. Этот список должен соответствовать маркерам. Я хотел бы использовать число в массиве местоположений как мой ярлык, но независимо от того, что я пытаюсь, я не могу получить метку: местоположения [i] [2] (или любые варианты) для работы.Геокодирование адресов Google Maps с пользовательскими ярлыками?
Я попытался добавить переменную, равную местоположениям [i] [2] в цикле for, но она просто хранит и отображает последнее число при вызове переменной в функции маркера.
Надеюсь, что это имеет смысл.
var locations = [
['text','address1','1'],
['text','address2','2'],
];
var labels = '123456789';
var labelIndex = 0;
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(38.3509665,-81.6881185),
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: true
});
var trafficLayer = new google.maps.TrafficLayer();
trafficLayer.setMap(map);
var infowindow = new google.maps.InfoWindow();
var geocoder = new google.maps.Geocoder();
var marker, i;
for (i = 0; i < locations.length; i++) {
geocodeAddress(locations[i]);
}
function geocodeAddress(location) {
geocoder.geocode({ 'address': location[1]}, function(results, status) {
//alert(status);
if (status == google.maps.GeocoderStatus.OK) {
//alert(results[0].geometry.location);
map.setCenter(results[0].geometry.location);
createMarker(results[0].geometry.location,location[0]+"<br>"+location[1]);
}
else
{
alert("some problem in geocode" + status);
}
});
}
function createMarker(latlng,html){
var marker = new google.maps.Marker({
position: latlng,
map: map,
label: labels[labelIndex++ % labels.length],
});
google.maps.event.addListener(marker, 'mouseover', function() {
infowindow.setContent(html);
infowindow.open(map, marker);
});
google.maps.event.addListener(marker, 'mouseout', function() {
infowindow.close();
});
}
google.maps.event.addDomListener(window, 'load', initialize);
Заранее спасибо.
Святое дерьмо. Я не могу поверить, что это было бы так просто. Теперь я чувствую себя немой. СПАСИБО !!! – gr8whtd0pe