我的客户想要在他的网上商店中使用Map,这与使用Google Store Locator库可以实现的类似。但是,他希望地图在您搜索位置之前不显示任何标记,只需绘制3个商店。然后,当您搜索其他位置时,将重绘地图,并且仅打印3个最近的标记。
我正在使用配置文件,甚至使用JS文件本身也无济于事。这似乎是一件容易的事,但我不能隐藏标记。我已经能够使用此代码使其工作的商店列表。
first_time = false;
...
...
if(!first_time){
items_per_panel = 0;
first_time = true;
}else{
items_per_panel = 1;
} // if
然而,我完全陷入了标记部分。我怀疑我可以自定义读取的代码
marker.setMap(this.getMap());
但不知道怎么做。
答案 0 :(得分:0)
我通过使用item属性,item.getId()和检索列表来完成代码。我通过邻近存储了所有第一个元素,然后,在绘制引脚的方法中,我使用了这个存储数组。像这样(我的数组叫做stores_list):
for (var i = 0, ii = Math.min(items_per_panel, stores.length); i < ii; i++) {
// Get store data
var storeLi = stores[i].getInfoPanelItem();
stores_list.push(stores[i].getId()); // added line
....
if(jQuery.inArray(store.getId(), stores_list) != -1 ) marker.setMap(this.getMap()); // added condition