mapy google nad limitem zapytania
Wiem, że podobne pytania zostały opublikowane, ale nie znalazłem ani nie odpowiedziałem na żaden z nich, ponieważ odnosi się to do mojego konkretnego problemu.
Mam javascript, który używa map google do umieszczania kodów pocztowych klientów na mapie. Problem, który mam, jest podobny do tego, co inni już opublikowali - pojawia się błąd „ponad zapytaniem”.
Próbowałem różnych ustawień przy użyciu setTimeOut, aby spróbować wysłać google dane w dopuszczalnych odstępach czasu, ale nie mogę go uruchomić.
Oto moja akcja:
function initialize()
{
var rowNum = 0 ;
var rowColor = "" ;
var latlng = new google.maps.LatLng(27.91425, -82.842617);
var myOptions =
{
zoom: 7,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
geocoder = new google.maps.Geocoder();
data.forEach(function(mapData,idx)
{
window.setTimeout(function()
{
geocoder.geocode({ 'address': mapData.address}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK)
{
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
title: mapData.title,
icon: getIcon(mapData.type)
});
var contentHtml = "<div style='width:250px;height:90px'><strong>"+mapData.title+"</strong><br />"+mapData.address+"</div>";
var infowindow = new google.maps.InfoWindow({
content: contentHtml
});
google.maps.event.addListener(marker, 'click', function()
{
infowindow.open(map,marker);
});
marker.locid = idx+1;
marker.infowindow = infowindow;
markers[markers.length] = marker;
if (idx%2 == 0)
{
rowColor = 'style="background-color:#00FFFF;"' ;
}
else
{
rowColor = 'style="background-color:#FFFFFF;"' ;
}
var sideHtml = '<div ' + rowColor + ' class="loc" data-locid="'+marker.locid+'"><b>'+mapData.title+'</b><br/>';
sideHtml += mapData.address + '</div>';
$("#locs").append(sideHtml);
//Are we all done? Not 100% sure of this
if(markers.length == data.length) doFilter();
}
else
{
// alert("Geocode was not successful for the following reason: " + status);
}
}, 3000);
});
});
Po uruchomieniu mojej strony za pomocą tej akcji otrzymuję 11 znaczników, mimo że mam więcej niż w moim łańcuchu JSON. Okno.setTimeout nie ma żadnego skutku - oczywiście robię tu coś złego.
Byłbym wdzięczny za wszelką pomoc w tej sprawie.
Dzięki,