2013-02-03 8 views
5

Ich habe jvectormap jetzt für ein paar Wochen verwendet, aber es gibt viele fehlende Länder. Weiß jemand, wo ich die Länderinformationen im Format jvectormap bekommen kann?jvectormap fehlende Länder

Ich suchte in Google nach Stunden, aber kann nichts finden.

Es gibt eine jqvmap mit ein paar weiteren Ländern, aber es ist in einer anderen Projektion und es fehlen auch einige Länder.

Im Moment verwende ich:

jvectormap-world-en.js 

und ich kann den Python-Konverter nicht verarbeiten.

Hat jemand eine Quelle dafür?

+0

welchen Ländern sind Sie interessiert, die fehlen ? –

+1

Ich bin an allen Ländern interessiert. das ist das Problem. Aber ich habe eine Liste der fehlenden Länder, die ich kenne: Vatikanstadt, Monaco, Nauru, Tuvalu, San Marino, Liechtenstein, Marshall Inseln, St. Kitts und Nevis, Malediven, Malta, Grenada, St. Vincent und die Grenadinen, Mikronesien, Barbados, Antigua und Barbuda, Seychellen, Palau, Andorra, Saint Lucia, Singapur, Kiribati, Tonga, Dominica, Mauritius, Bahrain, Sao Tome und Principe, ... und alles, was fehlt. :-) Ich brauche eine komplette Karte – Laokoon

Antwort

0

schließlich fand ich eine Vektor-Karte mit allen Ländern bei wikimedia:

wikimedia.org

+0

können Sie bitte erklären, wie Sie diese SVG-Datei verwenden –

+0

Sie müssen das SVG-Element in Objekte konvertieren. Das ist nicht schwer, denn jedes Land hat sein eigenes Svg-Element und den richtigen Namen. – Laokoon

+0

Ich habe versucht, Singapur zu mappen, aber es zeigt immer noch –

5

Das Problem, das Sie haben, ist breiter als nur die Abwesenheit einiger Länder auf der Karte. Wenn Sie nur ein paar kleine Länder zur Karte hinzufügen, sind die meisten nicht sichtbar, selbst wenn Sie auf der höchsten Zoomstufe sind. Die Lösung, die von this demo vorgeschlagen wurde, ist die Verwendung der Marker-Funktion von jVectorMap, um kleinere Länder zu präsentieren.

Sie müssen Codes anstelle von Indizes für Markierungen zuweisen, damit die Datenmethoden ordnungsgemäß funktionieren. Um dies zu tun Hash nur anstelle von Array verwenden, wenn Marker zu definieren:

//instead of this 
markers: [ 
    {latLng: [41.90, 12.45], name: 'Vatican City'}, 
    {latLng: [43.73, 7.41], name: 'Monaco'}, 
    ... 
] 

//use this 
markers: { 
    "VA": {latLng: [41.90, 12.45], name: 'Vatican City'}, 
    "MC": {latLng: [43.73, 7.41], name: 'Monaco'}, 
    ... 
} 
+0

Ich kenne diese Demo. Ich habe auch versucht, es zu benutzen. aber ich habe Daten im Backend, die mir einige ISO-Codes mit einer Nummer geben. Jetzt muss ich Regionen UND Marker mit einer neuen Füllung füllen. für Regionen ist es einfach: mo.series.regions [0] .setValues ​​(values); aber wie soll ich das für Marker machen, weil die Marker das nicht unterstützen ?: mo.series.markers [0] .setValues ​​(values); – Laokoon

+1

@Laokoon Siehe bearbeiten. In Bezug auf den Kartenrealismus. Es ist immer ein Kompromiss zwischen Größe und Anzahl der Details. Die Karten auf der Website können von Gelegenheitsentwicklern verwendet werden. Wenn Sie etwas Bestimmtes benötigen, können Sie [Konverter] (http://jvectormap.com/documentation/gis-converter/) verwenden und eine super-detaillierte Karte von mehreren MB Größe erstellen. – bjornd