问题
I am currently putting together a demo application that needs to show 28,000 markers on a map without using any type of clustering. The problem is, adding the marker to the map for that many takes so long that the browser crashes! Here is the current process
-Retrieves map points from database including LAT and LONG (doesn't have to geocode) - for loop cycles through each of the returned values and does this:
var marker = new google.maps.Marker({
position: point,
animation: google.maps.Animation.DROP,
map: map,
title: value.Title,
icon: icons['store']
});
google.maps.event.addListener(marker, 'click', function () {
var hidingMarker = currentPlace;
var slideIn = function (marker) {
$('#Name', info).text(place.Title);
$('#Phone', info).text(place.Description);
$('#Address', info).text(place.Proper_Address);
$('#LastSale', info).text("Last Sale:" + place.Last_Sale);
info.animate({ right: '0%' });
}
-the markers drop in and the user can click on any of them to see a little bit of information
Is there a more efficient way to do this so that showing 28,000 would be possible without having to cluster them? I have found some scripts people wrote to handle it before, but they are all for api V2. Any links or code is greatly appreciated! thanks!
回答1:
In my experience, the only real way to show that many markers on the map at the same time is to use fusion tables (which does have some limitations and other challenges that need to be worked around). All other solutions for handling this many markers involve some form of clustering or will not work with wide zoom.
http://www.google.com/fusiontables/Home/
回答2:
I assume you're not literally showing 28,000 on the screen at once? There will only be a subset visible?
If this is the case, why don't you just make a server request with the coordinate range you are displaying, then just plot those? There are map events that would allow you to know when the markers need to be updated, and you could avoid having too many objects in the browser at once.
来源:https://stackoverflow.com/questions/9944585/adding-thousands-of-markers-google-map-api-v3