【问题标题】:jVectorMap - How to get value from markers and store it to a variablejVectorMap - 如何从标记中获取值并将其存储到变量中
【发布时间】:2014-04-14 10:14:14
【问题描述】:

我设法使用带有标记的 jVectorMap 创建了一个地图。

现在,当用户点击它时,如何从标记中获取值?

jsfiddle 链接:http://jsfiddle.net/fqqGs/78/

     $(function(){
        $('#map').vectorMap({
        map: 'us_aea_en',
        zoomOnScroll: false,
        hoverOpacity: 0.7,
        markerStyle: {
          initial: {
            fill: '#F8E23B',
            stroke: '#383f47'
          }
        },
 markers: [
     {latLng: [41.50, -87.37], name: 'Chicago', newvalue: '300'},
          {latLng: [32.46, -96.46], name: 'Dallas', newvalue: '301'},
          {latLng: [36.10, -115.12], name: 'Las Vegas', newvalue: '302'},
          {latLng: [34.3, -118.15], name: 'Los Angeles', newvalue: '303'},
          {latLng: [40.43, -74.00], name: 'New York City', newvalue: '304'}
        ],
            onMarkerClick: function(event, index){
  var a = 2;
var b=2+newval; //need to get the value from each markers and save the value to newval
alert(b);

 }
        });
    });  

【问题讨论】:

    标签: variables save jvectormap


    【解决方案1】:

    将标记数组分配给匿名函数内部的变量,您可以在分配地图标记和 onMarkerClick 闭包中引用该变量。

    jsfiddle 链接:http://jsfiddle.net/hansenmc/3Cf8r/

       $(function () {
           //assign markers to a variable
           var mapMarkers = [
                  {latLng: [41.50, -87.37], name: 'Chicago', newvalue: '300'}, 
                  {latLng: [32.46, -96.46], name: 'Dallas', newvalue: '301'}, 
                  {latLng: [36.10, -115.12], name: 'Las Vegas', newvalue: '302'}, 
                  {latLng: [34.3, -118.15], name: 'Los Angeles', newvalue: '303'}, 
                  {latLng: [40.43, -74.00], name: 'New York City', newvalue: '304'}
            ];
    
           $('#map').vectorMap({
               map: 'us_aea_en',
               zoomOnScroll: false,
               hoverOpacity: 0.7,
               markerStyle: {
                   initial: {
                       fill: '#F8E23B',
                       stroke: '#383f47'
                   }
               },
               markers: mapMarkers,
               onMarkerClick: function (event, index) {
                   var a = 2;
                   //retrieve marker by the index and parse the string value as an integer
                   var newval = parseInt(mapMarkers[index].newvalue);
                   var b = 2 + newval; //need to get the value from each markers and save the value to newval
                   alert(b);
               }
           });
       });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-17
      • 1970-01-01
      • 2014-03-05
      • 2015-12-22
      • 2022-11-30
      • 2016-10-19
      • 1970-01-01
      • 2019-08-19
      相关资源
      最近更新 更多