jquery – 如何使用jVectorMap从onRegionClick回调中的map数组中获取状态名称?

我正在使用jVectorMap插件,我试图从地图数组中获取name元素,如下所示:

$.fn.vectorMap('addMap','usa_en',{
    "width": 959,"height": 593,"pathes": {
        "hi": {
            "path": "COORDINATES_GO_HERE","name": "Hawaii"
        },"ak": {
            "path": "COORDINATES_GO_HERE","name": "Alaska"
        },"fl": {
            "path": "COORDINATES_GO_HERE","name": "Florida"
        },...and so on for the other 47 states
    }
})

插件使用以下命令启动,地图数组文件由“map”设置定义:

var myData = {"hi":0,"ak":0,"fl":0,...and so on}

$('#us-map').vectorMap({
    map: 'usa_en',values: myData,color: '#ccc',onRegionClick: function(event,code){
        $.get('{site_url}embeds/state_view/'+code,function(data) {
            $('#data-replace').fadeOut(200,function(){ $(this).html(data).fadeTo(200,1); });
            $('#data-title').fadeOut(200,function(){ $(this).text(INSERT_CLICKED_STATE_NAME_HERE).fadeTo(200,1); });
        });
    }
});

关于如何将地图文件数组中的州名插入onRegionClick回调的任何想法?

解决方法

您需要获取地图对象的句柄,然后您可以使用getRegionName()方法:

onRegionClick: function(event,code){
    //obtain the reference to the map object
    var map = $('#world-map').vectorMap('get','mapObject');

    $.get('{site_url}embeds/state_view/'+code,function(data) {
        $('#data-replace').fadeOut(200,1); });
        $('#data-title').fadeOut(200,function(){ $(this).text(map.getRegionName(code)).fadeTo(200,1); });
    });

相关文章

1.第一步 设置响应头 header('Access-Control-Allow...
$.inArray()方法介绍 $.inArray()函数用于在数组中搜索指定的...
jquery.serializejson.min.js的妙用 关于这个jquery.seriali...
JS 将form表单数据快速转化为object对象(json对象) jaymou...
jQuery插件之jquery.spinner数字智能增减插件 参考地址:http...