javascript - GeoJson amchart maps geoJson 有什么问题?

标签 javascript json geojson amcharts

我对 ammCharts 比较陌生,这也是我第一次尝试创建 geoJSON 文件。

以下是我的geoJson文件:

GeoJSON file

这就是我要实现的目标: example

当我加载我的 geoJson 时,会发生以下情况: my map

所以只有一个多边形正在工作。出于某种原因,我遇到了问题,无法制作代码的 jsfiddle 或 codepen。我相信我的 geoJSON 有问题,因为我加载了其他随机 Geojson 文件,它们与 amcharts 创建的 codepen 一起工作正常,只是我的 dosent 工作。

我正在使用 geojson.io创建 geoJson。

最佳答案

您的 geoJSON 的问题在于它缺少 ID。 AmCharts 的 map 需要每个区域的唯一 ID。由于您的任何区域都没有设置 "id" 属性,因此它们都默认为 null,只允许突出显示其中一个区域。我修改了您的 JSON 并添加了与每个地区的地区具有相同值的 ID,如下所示:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "division": "Muzaffarabad",
        "district": "Muzaffarabad",
        "id": "Muzaffarabad",
// ... others omitted

我还修改了示例,将 “title” 属性添加到转换后的对象,这样当您将鼠标悬停在该区域上时,您将默认获得该区域的名称:

  for(var i = 0; i < svg.length; i++) {
    var path = svg[i];
    var attrs = path.match(/\w+=".*?"/g);
    var area = {};
    for(var x = 0; x < attrs.length; x++) {
      var parts = attrs[x].replace(/"/g, '').split("=");
      var key = fieldMap[parts[0]] || parts[0];
      area[key] = parts[1];
    }
    //added for hover-over balloons
    area["title"] = area["id"];
    mapVar.svg.g.path.push(area);
  }

Here's a demo使用修改后的文件和示例代码。您可以找到完全修改的 geoJSON 文件 here .

关于javascript - GeoJson amchart maps geoJson 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41757258/

相关文章:

javascript - AEM 和 jQuery::Code 在 MS edge 中工作但在 Chrome 中不工作

javascript - 谷歌地图 : pan to a center of a geojson route clicking on it

javascript - .click 获取一段 json 以显示在警报中

javascript - 如何在react中获取json api中的图像?

r - 使用 st_read 在迭代 R 中导入大型 geojson

javascript - 类型为 'GeoJsonObject' 的 STRING 参数

javascript - 将 Flask 变量从 javascript 传递到 html

javascript - 设置 facebook 登录时遇到问题

javascript - 语义 UI 搜索选择在模态负载上不会保持折叠/不集中状态

javascript - 将 JSON 数据从 Node.js 存储到 MongoDB