在模板上更新后获取新标记数的方法/事件

时间:2016-04-08 19:00:06

标签: polymer polymer-1.0

我要做的是使用模板创建Google地图标记。

<google-map id="google-map" map="{{map}}" latitude="44.6" longitude="-84.5" zoom="6" drag-events="true" api-key="{{key}}" single-info-window="true">
  <template is="dom-repeat" items="{{response}}" id="d" as="marker">
    <google-map-marker map="{{map}}" latitude="{{marker.lat}}" longitude="{{marker.lng}}">{{marker.EventName}}</google-map-marker>
  </template>
</google-map>

然后我想使用MarkerClusterer https://github.com/googlemaps/js-marker-clusterer来创建集群。发生了什么事情,当我更新模板时,我无法弄清楚在更新后使用什么事件来获取_updateMarkers。我可以在更新后的_updateMarkers中看到之前和之后的值。问题是我没有看到一个方法/事件,我可以使用更新的标记计数来解决问题。

我尝试将dom-ready与模板一起使用,但只有标记数量的旧值,它总是落后一个。例如,如果我在地图上有7个标记,那么我进行缩放并且可能有5个标记,它将返回7个标记,然后再次变焦5.

正如我所说我知道_updateMarkers正在运行,我想知道是否有一个事件/方法可以用来调用MarkerClusterer函数并用新值重新创建MarkerCluster。

谢谢!

2 个答案:

答案 0 :(得分:0)

虽然不是您问题的直接答案,但您可以查看我之前创建的google-map-markerclusterer元素。它包含JS库的所有功能,还允许您自定义集群和标记。

答案 1 :(得分:0)

on-rendered-item-count-changeddocs)事件添加到您的dom-repeat元素中。完成!