Jvector地图如何添加,并从标志物连杆(Jvector Map how to add and g

2019-07-19 07:34发布

我试图从标志器阵列获取数据,并把它放回onmarkerclick功能,这样我就可以去一个URL一旦标记被点击,一切我尝试似乎失败。 我希望到标志器阵列添加URL,并返回到onmarkerclick这一点。 感谢您对您的高级帮助:

 $(function(){
    $('#map1').vectorMap({
                  map: 'world_mill_en',
                  scale: ['#C8EEFF', '#0071A4'],
                  normalizeFunction: 'polynomial',
                  hoverOpacity: 0.7,
                  hoverColor: false,
                  markerStyle: {
                    initial: {
                          fill: '#F8E23B',
                          stroke: '#383f47'
                    }
                  },
                  backgroundColor: '#383f47',
                  markers: [{latLng: [48.921537, -66.829834], name: "something", weburl : "/blah/foo"

            },{latLng: [45.995944, -64.171143], name: "something else", weburl : "/blah/foo"

            },],
                  onMarkerClick: function(events, label, index, weburl) {
                    alert (1+weburl);                
                   }
            });
});

Answer 1:

如此多的巧合,我昨天只是面临同样的问题.. :)

我找到的解决方案是外面创建一个数组,并在点击功能通过索引访问它..

var markers = [
    {latLng: [48.921537, -66.829834], name: "something", weburl : "/blah/foo"},
    {latLng: [45.995944, -64.171143], name: "something else", weburl : "/blah/foo-else"}
];

$(function(){
    $('#map1').vectorMap({
                  ...
                  markers: markers,
                  onMarkerClick: function(event, index) {
                      // alter the weburl
                      alert(markers[index].weburl);
                  }
            });
});


Answer 2:

只是因为我只是解决了这类问题的不同方式,而且我觉得对于如此做很聪明,我会后我的答案。

您可以存储使用jQuery.data或JavaScript DOM数据集的任意数据。 除非你有你的页面上的其他SVG <circle>元素,你可以遍历所有<circle>元素,让他们从阵列中的数据。 该指标将匹配,但您可以使用数据索引作为保障。

很酷。 虽然这是旧的方式,也许这会替代帮助别人。



文章来源: Jvector Map how to add and get link from marker