gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:41:59 35 4
gpt4 key购买 nike

我对 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/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com