Bing Maps AJAX中多边形集合上的事件处理程序无法触发

时间:2012-04-19 16:50:40

标签: ajax bing-maps

我使用以下代码创建了同心环对象/集合。我想在地图上移动/拖动集合,突出显示这些环中感兴趣的位置。正如您所看到的,我已经为集合添加了一个事件处理程序,但是当我尝试在地图上拖动集合时,它永远不会触发事件处理程序。任何想法为什么不呢?我已确认事件处理程序已到位。

使用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;
    }

1 个答案:

答案 0 :(得分:0)

EntityCollection类没有鼠标事件。您可以在此处查看此集合中包含的事件:http://msdn.microsoft.com/en-us/library/gg427616.aspx

您必须将事件添加到集合中的每个形状。

此外,您似乎正在尝试绘制复杂的多边形。您是否考虑过使用AdvanceShapes模块:http://msdn.microsoft.com/en-us/library/hh921952.aspx