添加数千个标记 Google Map API V3

msc*_*d02 6 google-maps google-maps-api-3 google-maps-markers google-fusion-tables

我目前正在组装一个演示应用程序,需要在地图上显示 28,000 个标记,而不使用任何类型的聚类。问题是,将标记添加到地图上花费的时间太长,以至于浏览器崩溃!这是当前的流程

-从数据库中检索地图点,包括 LAT 和 LONG(不必进行地理编码) - for 循环循环遍历每个返回值并执行以下操作:

  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%' });
                 }
Run Code Online (Sandbox Code Playgroud)

- 标记插入,用户可以单击其中任何一个来查看一些信息

是否有更有效的方法来执行此操作,以便无需对它们进行聚类即可显示 28,000 个?我发现以前有人写过一些脚本来处理它,但它们都是针对 api V2 的。非常感谢任何链接或代码!谢谢!

jav*_*ram 3

根据我的经验,同时显示地图上许多标记的唯一真正方法是使用融合表(它确实有一些限制和其他需要解决的挑战)。用于处理这么多标记的所有其他解决方案都涉及某种形式的聚类,或者无法使用宽变焦。

http://www.google.com/fusiontables/Home/

  • 目前尚不清楚 Fusion Tables 如何成为一种选择。无论如何,谷歌将于 2019 年 12 月关闭它 (3认同)