. У меня есть 50 адресов из sql. Каждый адрес будет отображаться внутри divAddress. Я прокручиваю каждый из них, геокод и рисую маркер на карте. Но он отображает только 11 из. Я знаю, что это связано с тем, что геокодер является узким. Как использовать setinterval или settimeout для управления этим? Я исследовал и увидел людей, использующих SetTimeout обрабатывать this..please кто-то наставит меня ...setinterval или settimeout для google map v3
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(42.095287, -79.3185139);
var myOptions = {
maxZoom: 14,
zoom: 9,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
};
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
function codeAddress() {
var infowindow = new google.maps.InfoWindow({});
$('.LocationAddress').each(function() {
var addy = $(this).text();
geocoder.geocode({ 'address': addy}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
position: results[0].geometry.location,
map: map,
title:addy,
});
//Adding a click event to the marker
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent('<div id=\"infowindow\" style=" height:100px;>'
+'<div id=\"LeftInfo\">'+ "Hello World!"
+'</div>'+'</div>');
infowindow.open(map, this);
});
}
});//Geocoder END
});
}
Где я могу использовать функцию setInterval? Внутри CodeAddress()? или после codeAddress() {} ?? –
Вы делаете это на улице. Во всяком случае, я только что отредактировал его на part addresses.length == 0, чтобы очистить интервал, который мы сделали. – Mikko
где вызывается getAddress()? sth сломался, поэтому моя карта вообще не показалась ... когда вы сказали: «Объявите переменную сверху, которая будет содержать наши адреса и infowindow:« вы имеете в виду сделать эту глобальную переменную ?? поэтому они доступны для любых функций? –