1

我一定遗漏了一些明显的东西——我基本上想在 v2 中做,我认为[this SO question]中概述了,但在 v2 中不起作用。具体来说,Gmaps.maps不再定义。

据我所知,如果我存储在 buildMaps 回调中调用 addMarkers 时返回的标记数据数组,我可以使用该数组的元素来删除标记。

如果我在发送给 addMarkers 的 JSON 中存储了一个自定义属性,那么我也可以保留该 JSON 数组,并查询该属性,找到索引,然后在标记中隐藏带有该索引的标记数据数组 - 这就是我的意思,在伪代码中:

json_array=generate_json();
handler.build_map({}, function() { window.marker_data=handler.addMarkers(); });

indexes=find_in_json(json_array, {"type":"hotel"});
marker_data[i].hide() for i in indexes;

但这意味着我在两个地方有相同的概念数据——有没有更好的方法来避免在两个单独的数组中管理标记的“模型”?

4

1 回答 1

0

我理解你的担心。

我所做的是在这种情况下合并数据,检查http://apneadiving.github.io/有一个例子(检查侧边栏部分)

var markers = handler.addMarkers(json_array);

_.each(json_array, function(json, index){
  json.marker = markers[index];
});
于 2014-02-04T12:14:49.390 回答