我使用以下代码创建了同心环对象/集合。我想在地图上移动/拖动集合,突出显示这些环中感兴趣的位置。正如您所看到的,我已经为集合添加了一个事件处理程序,但是当我尝试在地图上拖动集合时,它永远不会触发事件处理程序。任何想法为什么不呢?我已确认事件处理程序已到位。
使用Bing API的v7。 我在下面的代码示例中遗漏了处理程序,它们只是做了简单的警报(“到了这里”);
function GetMap(){
map.entities.push(AddRings(center));
}
function AddRings(center) {
var circleCollection = new Microsoft.Maps.EntityCollection();
circleCollection.push(AddCircle(center.latitude, center.longitude, .05, new MM.Color(155, 2, 2, 2)));
circleCollection.push(AddCircle(center.latitude, center.longitude, 5, new MM.Color(255, 0, 255, 0)));
circleCollection.push(AddCircle(center.latitude, center.longitude, 20, new MM.Color(255, 255, 0, 0)));
circleCollection.push(AddCircle(center.latitude, center.longitude, 10, new MM.Color(255, 0, 0, 255)));
MM.Events.addHandler(circleCollection, 'mousedown', StartDragHandler);
MM.Events.addHandler(circleCollection, 'mouseup', EndDragHandler);
MM.Events.addHandler(circleCollection, 'mouseout', EndDragHandler);
return circleCollection;
}
答案 0 :(得分:0)
EntityCollection类没有鼠标事件。您可以在此处查看此集合中包含的事件:http://msdn.microsoft.com/en-us/library/gg427616.aspx
您必须将事件添加到集合中的每个形状。
此外,您似乎正在尝试绘制复杂的多边形。您是否考虑过使用AdvanceShapes模块:http://msdn.microsoft.com/en-us/library/hh921952.aspx