2017-01-20 2 views
2

Ich bin relativ neu zu ammCharts und es ist mein erster Versuch, eine GeoJSON-Datei auch zu erstellen. GeoJson amchart mappt, was mit geoJson los ist?

Das folgende ist meine GeoJSON Datei:

GeoJSON file

Das ist, was ich zu erreichen versuche: example

Wenn ich meine GeoJSON laden das ist, was passiert: my map

Also nur ein Polygon arbeitet aktiv. Aus irgendeinem Grund habe ich Probleme und konnte weder Code noch Codepen des Codes machen. Ich glaube, dass etwas in meinem geoJSON falsch ist, da ich andere zufällige Geojson-Dateien geladen habe, funktionieren sie gut mit dem durch Amcharts erzeugten Codepen, nur meine dosent Arbeit.

Ich verwende geojson.io um den geoJson zu erstellen.

Antwort

1

Das Problem mit Ihrem geoJSON ist, dass es IDs fehlt. AmCharts Karten erfordern eindeutige IDs für jede Region. Da in keiner Ihrer Regionen eine "id"-Eigenschaft festgelegt ist, werden alle standardmäßig auf null festgelegt, sodass nur eine der Regionen hervorgehoben werden kann. Ich änderte Ihre JSON und hinzugefügt IDs mit dem gleichen Wert wie der Kreis in jeder Region etwa so:

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

I modifiziert auch das Beispiel eines "title" Attribut auf das umgewandelte Objekt hinzuzufügen, so dass Sie den Namen bekommen von der Bereich, wenn Sie über sie standardmäßig schweben:

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 mit der modifizierten Datei und Beispielcode. Sie finden die vollständig modifizierte geoJSON-Datei here.

+0

Vielen Dank wissen, dass alles einen Sinn ergibt. – hamadkh