2012-06-15 15 views
5

Sto usando il plugin jVectorMap e sto cercando di ottenere l'elemento nome da una matrice di mappa che assomiglia a questo:Come utilizzare jVectorMap per ottenere il nome di uno stato da un array di mappe all'interno del callback 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 
    } 
}) 

Il plugin viene avviato utilizzando la seguente, e il file di matrice mappa è definita dall'impostazione "mappa":

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

Tutte le idee su come posso inserire il nome dello stato dalla mappa matrice del file nella richiamata onRegionClick?

risposta

5

è necessario per ottenere una maniglia sul oggetto della mappa, quindi è possibile utilizzare il metodo 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); }); 
    }); 
Problemi correlati