Adding thousands of Markers Google Map API V3

梦想与她 提交于 2019-12-22 09:50:16

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!