2012-06-15 34 views
5

estoy usando el plugin jVectorMap y estoy tratando de obtener el elemento de nombre de una serie de mapas que se parece a esto:Cómo usar jVectorMap para obtener el nombre de un estado de una matriz de mapas dentro de la devolución de llamada 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 
    } 
}) 

El complemento se inicia mediante el siguiente, y se define el mapa de archivos gama por el ajuste de "mapa":

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

¿Alguna idea sobre cómo puedo insertar el nombre del estado de la matriz de mapa en el archivo de devolución de llamada onRegionClick?

Respuesta

5

que necesita para obtener una manija en el objeto de mapa, a continuación, se puede utilizar el método de 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); }); 
    }); 
Cuestiones relacionadas