我在Bing Maps的点击事件上遇到了一些问题。 我有一个商店数组,我可以毫无问题地放置所有的图钉和点击事件(以打开信息框)。
var STORES = [
{
id: 123,
lat: 1.23456789,
lng: -1.23456789,
name: 'AEVA'
},
...
]
for (var i = 0; i < STORES.length; i++) {
var pinOptions: {icon: 'map-pin.png?id'+STORES[i].id, width: 29, height: 52},
LatLng = new Microsoft.Maps.Location(STORES[i].lat, STORES[i].lng),
pin = new Microsoft.Maps.Pushpin(LatLng, pinOptions);
pin.content = '<p>'+STORES[i].name+'</p>';
Microsoft.Maps.Events.addHandler(pin, 'click', displayInfobox);
bing.pinLayer.push(pin);
}
现在的问题是,当用户通过搜索页面进入页面时,会自动添加一个带有 id 的哈希标记,例如 /stores#id123。
我希望地图能自动打开具有该 id 的框,因此我添加了以下代码。
var hash = window.location.hash;
hash = hash.replace("#", "");
if(hash.length>0){
var pin = $('img[src*="?'+hash+'"]').parent();
pin.trigger('click');
}
但它就是不能工作。我也尝试过。
Microsoft.Maps.Events.invoke(a, 'click');
但是什么都没有发生,有人有解决办法吗,可以触发点击事件吗?
谢谢。