我对 ammCharts 比较陌生,这也是我第一次尝试创建 geoJSON 文件。
以下是我的geoJson文件:
这就是我要实现的目标: example
所以只有一个多边形正在工作。出于某种原因,我遇到了问题,无法制作代码的 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/