2012-06-15 9 views
5

Używam plugin jVectorMap i próbuję uzyskać element name z tablicy mapy, który wygląda tak:Jak użyć jVectorMap, aby uzyskać nazwę stanu z tablicy map wewnątrz wywołania zwrotnego 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 
    } 
}) 

Wtyczka jest inicjowany przy użyciu następujących, a plik jest zdefiniowana tablica mapa przez „map” Otoczenie:

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

Wszelkie pomysły, w jaki sposób można wstawić nazwę państwa z mapy pliku tablicy do zwrotnego onRegionClick?

Odpowiedz

5

trzeba uzyskać uchwyt na obiekcie mapy, a następnie można użyć metody 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); }); 
    }); 
Powiązane problemy