【问题标题】:jvectormap missing countriesjvectormap 缺失国家
【发布时间】:2020-11-12 09:37:08
【问题描述】:

我已经使用 jvectormap 几个星期了,但是有很多缺失的国家。 有谁知道我在哪里可以获得 jvectormap 格式的国家信息?

我在谷歌搜索了几个小时,但没有找到任何东西。

有一个 jqvmap 包含更多国家,但它的投影方式不同,并且还缺少一些国家。

目前我正在使用:

jvectormap-world-en.js

我无法处理 python 转换器。

谁有这方面的资料?

【问题讨论】:

  • 缺少哪些您感兴趣的国家/地区?
  • 我对所有国家都感兴趣。那就是问题所在。但这是我知道的失踪国家名单:梵蒂冈城、摩纳哥、瑙鲁、图瓦卢、圣马力诺、列支敦士登、马绍尔群岛、圣基茨和尼维斯、马尔代夫、马耳他、格林纳达、圣文森特和格林纳丁斯、密克罗尼西亚、巴巴多斯、安提瓜和巴布达、塞舌尔、帕劳、安道尔、圣卢西亚、新加坡、基里巴斯、汤加、多米尼加、毛里求斯、巴林、圣多美和普林西比……以及所有这些都不见了。 :-) 我需要一张完整的地图
  • 对于将来发现此内容的任何人,我已经制作了一个默认地图版本,其中包含here 的微型国家/地区,您可能会觉得有用。

标签: shape jvectormap


【解决方案1】:

您遇到的问题不仅仅是地图上缺少某些国家/地区。如果您只是将一堆小国家添加到地图上,那么即使在最高级别的缩放下,它们中的大多数也将不可见。 this demo 建议的解决方案是使用 jVectorMap 的标记功能来呈现较小的国家。

您需要为标记分配代码而不是索引,以使数据方法正常工作。为此,只需在定义标记时使用哈希而不是数组:

//instead of this
markers: [
  {latLng: [41.90, 12.45], name: 'Vatican City'},
  {latLng: [43.73, 7.41], name: 'Monaco'},
  ...
]

//use this
markers: {
  "VA": {latLng: [41.90, 12.45], name: 'Vatican City'},
  "MC": {latLng: [43.73, 7.41], name: 'Monaco'},
  ...
}

【讨论】:

  • 我知道这个演示。我也尝试使用它。但我在后端有数据,这给了我一些带有数字的 ISO 代码。现在我必须用一些新的填充来填充区域和标记。对于区域来说很简单:mo.series.regions[0].setValues(values);但是我应该怎么做标记,因为标记不支持呢?:mo.series.markers[0].setValues(values);
  • @Laokoon 查看编辑。关于地图的真实感。它总是在大小和细节数量之间进行权衡。网站上的地图是休闲开发者可以使用的。如果您需要特定的东西,您可以使用converter 并创建几 MB 大小的超详细地图。
【解决方案2】:

您可以在 jquery-jvectormap-world-mill.js 文件中添加一些缺失国家/地区的以下行

    "BH":  {"path": "M548 215 L549 215 L549 216 L548 216 Z", "name": "Bahrain"},
    "MV":  {"path": "M622 291 L624 291 L624 293 L622 293 Z", "name": "Maldives"},
    "SC":  {"path": "M564 301 L566 301 L566 303 L564 303 Z", "name": "Seychelles"},
    "MU":  {"path": "M571 347 L573 347 L573 349 L571 349 Z", "name": "Mauritius"},
    "SG":  {"path": "M680 280 L682 280 L682 282 L680 282 Z", "name": "Singapore"},
    "PW":  {"path": "M779 260 L781 260 L781 262 L779 262 Z", "name": "Palau"}

【讨论】:

    【解决方案3】:

    最后我在 wikimedia 上找到了所有国家的矢量地图:

    wikimedia.org

    【讨论】:

    • 你能解释一下如何使用这个 SVG 文件
    • 您需要将 SVG 元素转换为对象。这并不难,因为每个国家/地区都有自己的 svg 元素和正确的名称。
    • 我在现有代码中添加了这一新行 ... "sp": { "path": "M103.97,1.331L103.82,1.265L103.65,1.326L103.705,1.423L103 .818,1.447L103.909,1.416L103.961,1.392L103.996,1.365L103.97,1.331z", "name": "新加坡" },
    • @Wasima。您的文件中有不正确的语法。请将“路径”替换为“路径”。然后地图将加载。
    【解决方案4】:

    这是一个包含所有国家/地区的更新 JS 文件

    https://gist.github.com/paulsheldrake/69d8817ab616aa81919b9dc438359ccf

    【讨论】:

    • 嘿伙计,我刚刚从上面的要点将代码粘贴到 jquery-jvectormap-world-mill.js 文件中,但我收到了 Uncaught Error: Attempt to use map which was not loaded: world_mill 错误。这里可能出了什么问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多