【问题标题】:How to use a multi-layer map with countries and lakes with Highmaps?如何使用 Highmaps 与国家和湖泊一起使用多层地图?
【发布时间】:2020-07-08 07:06:46
【问题描述】:

有没有办法在 Highcharts 中使用多层地图?就我而言,我需要三层:一层用于国家,一层用于边界(显示有争议的边界与正常边界不同),一层用于湖泊,如下所示:

目前,我不知道如何实现这一点。或者我可以将三个图层从 shapefile 导出到 JSON,然后将三个图层粘在一起吗?但是“加入”来为国家着色是否仍然有效?

感谢任何提示。

【问题讨论】:

  • 您是否已经查看过这个官方演示:jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/…?我认为这显示了与您的要求相似的功能。
  • 啊,哇,很好的例子。非常感谢。但是,我没有成功加载附加地图。不知道为什么。我刚刚用正确的 JSON 替换了 this working example 中的 code here,但它没有显示任何内容。它应该显示国家边界。知道这有什么问题吗?
  • 你分享的demo恐怕不行。
  • 哎呀,对不起。一些小提琴消失了...Here 是带有湖层的测试,我刚刚从this working example 替换了 JSON。
  • 将几何设置为空会产生错误(检查控制台)。尝试将其分配为具有空坐标数组的对象。演示:jsfiddle.net/BlackLabel/06xvrs8m/1

标签: highcharts layer


【解决方案1】:

根据 cmets - 图像上需要的东西,可以通过这个官方演示来完成:https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/maps/demo/mapline-mappoint

经过一些尝试,@luftikus143 面临无法在他的自定义 JSON 文件中将几何设置为 null 的问题,我的解决方案是将其分配为具有空坐标数组的对象。演示:jsfiddle.net/BlackLabel/06xvrs8m/1

{
        "type": "Feature",
        "geometry": {
          type: 'polygon',
          "coordinates": [
            [

            ]
          ]
        },
        "properties": {
          "OBJECTID": 1,
          "NAME": "Great Bear Lake",
          "Shape_Leng": 35.7525061159,
          "Shape_Area": 6.12829979344
        }
      },

【讨论】:

  • 太好了,非常感谢!但是还有一个附加层的问题。 JSON 在 QGIS 中显示良好。但不会显示在 Highmaps (here is the fiddle) 中。这是一个多行图层,只有几行。它具有如上定义的几何形状。我尝试了不同的文件,所有的线型,但没有成功。这有什么问题?
  • 看看这个演示,它应该可以帮助你理解:jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/… 和想要的输出:jsfiddle.net/BlackLabel/yg2fbpm3
  • 太好了,太完美了。为了更好地理解:为什么我使用一次mapData: Highcharts.maps['lakes'], 和一次data: Highcharts.geojson(Highcharts.maps['customMap'], 'mapline')?这背后的逻辑是什么?或者两者都可以反过来写?
  • @luftikus143 他们的数据类型不同。 Highcharts.maps 可以读取PolygonMultiPolygon 类型,但如果您使用其他类型,则需要使用 Highcharts.geojson 功能对其进行解析。
猜你喜欢
  • 1970-01-01
  • 2018-08-07
  • 1970-01-01
  • 2014-08-15
  • 2021-01-09
  • 2013-03-16
  • 1970-01-01
  • 1970-01-01
  • 2019-08-04
相关资源
最近更新 更多