на моем сайте http://offersmapper.com/ У меня есть карта, которая должна показывать от 2000 до 5000 маркеров. действительно медленный. я попытался с markercluster как это было предложено, но ничего ... скорее всего, я делаю что-то неправильно ... любой, кто может помочь мне ?:google map markers performance
function initialize() {
var mapOptions = {
zoom: <? echo $zoom; ?>,
center: new google.maps.LatLng(<? echo $lat ?>, <? echo $lng ?>),
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var markers_1 = [];
<?
while($deal=mysql_fetch_assoc($query))
{
$t="
var contentString".$deal['id']."='".$info."';
var InfoWin".$deal['id']."= new google.maps.InfoWindow({
content: contentString".$deal['id'].",
maxWidth: 300
});
var marker".$deal['id']." = new google.maps.Marker({
position: new google.maps.LatLng(".$deal['lat'].", ".$deal['lng']."),
icon: ".$icon."
});
google.maps.event.addListener(marker".$deal['id'].", 'click', function() {
InfoWin".$deal['id'].".open(map,marker".$deal['id'].");
});
markers_1.push(marker".$deal['id'].");";
echo $t;
}
?>
var markerCluster_1 = new MarkerClusterer(map, markers_1, {maxZoom: 7, gridSize: 25, styles: styles[0]});
благодарит много ... но ваш код исправлял некоторую ошибку ... я попытался изменить его таким образом: – illinois
'var deals = = Json_encode ($ deals)?>; var markers_1 = []; $ .each (сделки, функция (K, V) { вар я = к; вар InfoWindow + v.id = новый google.maps.InfoWindow ({ содержание: v.info, MaxWidth: 300 }) var marker + v.id = new google.maps.Marker ({ позиция: новый google.maps.LatLng (v.lat, v.lng), icon: v.icon }); google. maps.event.addListener (marker + v.id, 'click', function() {dinfoWindow + v.id.open (map, marker + v.id);}); markers_1.push (marker + v.id) ;}); ' – illinois
nope ........ есть еще ошибка ... извините ... я не могу ее исправить .... SyntaxError: missing; перед оператором [Interrompi per questo errore] \t var infoWin [k] = new google.maps.InfoWindow ({ – illinois