2012-06-15 17 views
5

Tôi đang sử dụng plugin jVectorMap và tôi đang cố gắng để có được những yếu tố tên từ một mảng bản đồ mà trông như thế này:Làm thế nào để sử dụng jVectorMap để lấy tên của tiểu bang từ một mảng bản đồ bên trong gọi lại onRegionClick?

$.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 
    } 
}) 

Plugin được bắt đầu sử dụng những điều sau đây, và bản đồ tập mảng được định nghĩa bởi cài đặt "bản đồ":

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); }); 
     }); 
    } 
}); 

Bất kỳ ý tưởng nào về cách tôi có thể chèn tên tiểu bang từ mảng tệp bản đồ vào cuộc gọi lạiRegionClick?

Trả lời

5

Bạn cần phải nhận được một ngày xử lý các đối tượng bản đồ, sau đó bạn có thể sử dụng phương pháp 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,function(){ $(this).html(data).fadeTo(200,1); }); 
     $('#data-title').fadeOut(200, function(){ $(this).text(map.getRegionName(code)).fadeTo(200,1); }); 
    }); 
Các vấn đề liên quan