none
百度地图中添加了好多标注覆盖物,现在我想选中一个标注删除,但是实现不了了,求大神解释一下 RRS feed

  • 问题

  • 我在地图上标注了好多覆盖物,
    var marker = new BMap.Marker(new BMap.Point(e.point.lng, e.point.lat)); // 创建点
            map.addOverlay(marker);
    每当我点击鼠标右键,点击删除,想实现删除选中的这个标注,markerArr[i].point保存的是添加的标注物的点的信息,我的思路是点击右键,获取选中点的坐标信息,在已保存的数组里找相同的坐标然后删除,但是单击标注右键获取的对象的点与数组里的比较,没有相同的,但是我判断的时候e.point和 数组里保存的坐标没有相同的,求解释,
    //给marker添加鼠标右击事件
                    marker.addEventListener('rightclick', function (e) {
                        //添加鼠标右键事件
                        var menu = new BMap.ContextMenu()
                        var txtMenuItem = [
                            {
                                text: '删除',
                                callback: function () {
                                    if (markerArr.length > 1) {
                                        for (var i = 0; i < markerArr.length; i++) {
                                            var px0 = markerArr[i].point;//markerArr[i].point保存的是添加的标注物的点的信息,但是我判断的时候e.point和 数组里保存的坐标没有相同的,求解释
                                            if (e.point ==px0) {

                                            alert(e.point.lng);
                                            }
                                            //alert(e.point.lat);
                                            //alert(px0[0]);
                                        }
                                    }
                                }
                            }
                        ];
                        for (var i = 0; i < txtMenuItem.length; i++) {
                            menu.addItem(new BMap.MenuItem(txtMenuItem[i].text, txtMenuItem[i].callback, 100));
                        }
                        this.addContextMenu(menu);
                    });
                    map.addOverlay(marker);
    2015年1月14日 13:39

答案