Mapael js禁用缩放



因此,当用户单击地图区域时,我试图禁用地图中的缩放选项,使用事件处理程序,它适用于颜色等属性,但无法禁用缩放。

/*  ...  */
, defaultArea: {
    attrs : {
        fill : "#28282b"
        //, stroke: "#474c4b"
    }
    , attrsHover : {
        fill: "#3da879"
    }
    , text : {
        attrs : {
            fill : "#6d6d6d"
        }
        , attrsHover : {
            fill : "#fff"
        }
    }

    ,eventHandlers: {
        click: function (e, id, mapElem, textElem,elemOptions) {
            var newData = {
                'areas': {}
                ,'zoom': {}
            };                                         
            if (mapElem.originalAttrs.fill == "#28282b") {
                newData.areas[id] = {
                    attrs: {
                        fill: "#3da879"
                    }
                    , text : {
                        attrs : {
                            fill : "#fff"
                        }
                        , attrsHover : {
                            fill : "#fff"
                        }
                    }
                };
                newData.zoom[id] = {
                    enabled : false,
                    maxLevel : 10
                };

            } else {
                newData.areas[id] = {
                    attrs: {
                        fill: "#28282b"
                    }
                    , text : {
                        attrs : {
                            fill : "#6d6d6d"
                        }
                        , attrsHover : {
                            fill : "#fff"
                        }
                    }                                
                };
            }
            $(".mapcontainer").trigger('update', [newData]);
        }
    }
/*  ...  */     

您检查过这个JSFiddle示例:http://jsfiddle.net/neveldo/ejf9dsL9/吗?它展示了如何在用户单击按钮时通过触发'zoom'事件来放大特定区域:

$maparea2.trigger('zoom', {level : 10, latitude : 45.758888888889, longitude : 4.8413888888889});

如果你想禁用缩放功能,你可以在地图容器上取消绑定'mousewheel'事件。

希望对你有帮助。

相关内容

  • 没有找到相关文章

最新更新