Хорошо, парни и девушки, у меня возникли проблемы с добавлением нескольких маркеров. Клянусь, я искал, пока мои глаза не пересекались, и я просто не могу понять это.Несколько маркеров на google maps v3 не работают в цикле
Вот мой код:
function initialize()
{
cnt = 0;
var icon = "bullet-red-icon.png";
var mapProp = {
center: new google.maps.LatLng(39.8282,-98.5795),
zoom:5,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
$("marker", mapxml).each(
function(i)
{
var iwcontent = $(this).find("mname").text() + "<br /><br />";
iwcontent += $(this).find("mstreet").text() + "<br />" + $(this).find("mcity").text() + " " + $(this).find("mstate").text() + " " + $(this).find("mzip").text() + "<br /><br />";
iwcontent += "UNITS: " + $(this).find("units").text() + "<br />";
iwcontent += "UNIT COST: " + $(this).find("unitcost").text() + "<br />";
iwcontent += "TOTAL FUEL COST: " + $(this).find("fuelcost").text() + "<br />";
var mlat = parseFloat($(this).find("mlat").text());
var mlon = parseFloat($(this).find("mlon").text());
addMarker(iwcontent, mlat, mlon, map, i);
}
);
$("#d_transmap").show();
$(".t_loader").hide();
}
Теперь я знаю, что все данные есть, я console.logged все, и все кажется нормально. Однако маркеров вообще нет.
Вот функция addMarker:
function addMarker(content, lat, lon, map, i)
{
var point = new google.maps.LatLng(lat, lon.toFixed(6));
var marker = new google.maps.Marker({ position: point, icon: "bullet-red-icon.png", map: map });
var infowindow = new google.maps.InfoWindow({ content: content });
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(content);
infowindow.open(map, marker);
}
})(marker, i));
}
Теперь, если я иду за пределы цикла и называем это:
addMarker(content, 39.8282, -98.5795, map, i)
Он выложит маркер! Поэтому моя первоначальная мысль была чем-то неправильным с моими длинными данными. Однако я зарегистрировал все эти данные и даже сам зарегистрировал маркеры, и они, похоже, создают их. Я просто их не вижу.
В чем я ошибаюсь?
Хорошо, так что я попробую это, но где я могу поставить инфунд? – user2719726
просто поместите этот код в тег скрипта и измените «map_addresses» на свою карту div id – shivam
переменная arr содержит это значение [["23.0237795", "72.5855474"], ["23.0345011", "72.5530171"], ["23.0237795", "72.5855474"], ["23.0376011", "72.6030171"]] – shivam