我必须遗漏一些明显的东西 - 我基本上是想在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;
但这意味着我在两个地方有相同的概念数据 - 有没有更好的方法来避免在两个独立的数组中管理标记的“模型”?
答案 0 :(得分:0)
我理解你的担忧。
我做的是在这种情况下合并数据,检查http://apneadiving.github.io/有一个例子(检查侧边栏部分)
var markers = handler.addMarkers(json_array);
_.each(json_array, function(json, index){
json.marker = markers[index];
});