如何使用带有Highmaps的国家/地区代码显示地图点?

时间:2014-12-08 14:12:15

标签: highcharts highmaps

我已经查看了几个示例,并按照我的意愿将我自己的世界地图放在一起,只缺少一个细节。我可以使用坐标定位地图点,但我无法使用国家/地区代码定位地图点。

这是我的例子: http://jsfiddle.net/2sk6hfvz/

{
    "type": "mapbubble", // <<-- change this to 'mappoint', why doesn't ghost icons show up?
    "name": "Ghosts",
    "dataLabels":
    {
        "enabled": false
    },
    "marker":
    {
        "symbol": "url(https://cdn1.iconfinder.com/data/icons/Momentum_MatteEntireSet/32/ghost.png)"
    },
    mapData: mapData,
    joinBy: ['iso-a2', 'code'],
    data:
    [
            {
                name: "Liège",
                code: "SE",
                z: 1
            },
            {
                name: "Buble",
                code: "DE",
                z: 1
            }
        ]
    }

在示例中将“mapbubble”更改为“mappoint”。为什么mappoint设置的显示方式与mapbubble相同,然后才使用国家/地区代码?

1 个答案:

答案 0 :(得分:2)

他们没有以同样的方式工作的原因是因为你在使用&#34; mappoint&#34;时必须传递x和y坐标。

你的小妖精&#34;数据:

{
    "name": "Adam",
    "x": 1751,
    "y": -9500
}

你的幽灵&#34;数据(没有&#34; x&#34;和&#34; y&#34;):

{
    name: "Liège",
    code: "SE",
    z: 1
}

如果你给&#34;鬼&#34;数据一些&#34; x&#34;和&#34; y&#34;属性,它会工作。的 Please see this example

如果您想在不指定任何&#34; x&#34;的情况下将图像插入地图,您可以尝试另一件事。和&#34; y&#34;是通过dataLabels来做到这一点。 In this example here ,我创建了一张美国地图。每个人口密度小于每平方米7人的州将显示一个幽灵。 如果你想这样,你需要使用这两种属性:

  1. useHTML: true因此您可以将HTML <img>标记作为数据标签
  2. 使用formatter代替format,但请注意您必须将功能传递给formatter
  3. var ghostElem = '<img src="https://cdn1.iconfinder.com/data/icons/Momentum_MatteEntireSet/32/ghost.png"/>';

    
    dataLabels: {
        enabled: true,
        useHTML: true,
        color: 'white',
        formatter: function() { return (this.point.value <7)? ghostElem: null}
    }