【问题标题】:How to iterate through google maps markers to avoid 10 marker limit?如何遍历谷歌地图标记以避免10个标记限制?
【发布时间】:2016-08-15 11:59:52
【问题描述】:

我是谷歌地图 API 的新手。我创建了一个函数,允许我根据他们的 placeID 在谷歌地图中创建图钉。我有一长串要显示的图钉,但我发现地图只显示前 10 或 11 个。

根据 stackoverflow 上的其他问题,似乎可以在函数上设置延迟以仅显示前 10 个,但我不明白我的努力是如何产生错误的。有没有办法对我的函数应用超时以避免超出 10 个标记的限制?

function createPin(pinID) {
    service.getDetails({placeId: pinID }, function(place, status) {
          if (status === google.maps.places.PlacesServiceStatus.OK) {
            var marker = new google.maps.Marker({
                map: map,
                icon: pinIcon,
                position: place.geometry.location
            });
            google.maps.event.addListener(marker, 'click', function() {
                infowindow.setContent('<div class="infoWindow">' + place.name +'</div>');
                infowindow.open(map, this);
            });
          }
    });
}

/* Pins */

// Accenture
createPin('ChIJR6Ib2OwOZ0gRuWM8ipE_2Pk');
// Air BNB
createPin('ChIJwZfFge4OZ0gRz6mxPYx32Lc');
// ARUP
createPin('ChIJZedOre4OZ0gRwMvu-iJudQQ');
// Bank of Ireland
createPin('ChIJFyHFVZMOZ0gRO5Ld01Zz1XM');
/* long list of pins continues [...] */

【问题讨论】:

标签: google-maps-api-3 google-maps-markers


【解决方案1】:

我认为限制不在 Marker API 上,而是在“Place Details”API 上。

因此,您可以做的是将信息缓存到文件中,或在数据库中缓存您拥有的所有位置,然后您可以随意创建任意数量的标记。

【讨论】:

  • 我是 javascript 的初学者,所以请原谅我的天真,但似乎我可以将标记信息存储在 JSON 文件中,然后从我正在阅读的内容中调用它。你知道我如何将信息放入 JSON 文件中吗?目前我只有他们的 placeID,然后提供了其他信息,如标题和纬度经度
  • 有很多方法可以做到这一点。也许做一个 PHP、Python 或任何你运行一次(或每月一次?)的语言脚本,它将遍历你拥有的所有地点 ID,并使用他们的信息创建一个文件。之后,在您的 javascript 中,您必须通过 AJAX 加载该 json 文件并放置标记。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-27
  • 1970-01-01
  • 1970-01-01
  • 2018-02-11
相关资源
最近更新 更多