2008-09-16 7 views
3

Ich möchte eine "Länder, die Sie besucht haben" Karte erstellen - genau wie die, die Sie wahrscheinlich auf Facebook, TravelAdvisor und was auch immer gesehen haben.Interaktive Weltkarte - Vorschläge?

Ich habe verschiedene Flash-Kits ausprobiert, aber sie sind nicht ganz so fortgeschritten, wie ich sie gerne hätte. Das Hauptproblem, auf das ich mit all den verschiedenen Kits gestoßen bin, ist das Ändern der Hintergrundfarbe in einem Land, wenn man darauf klickt und die Farbe behält, wenn man sie "ablöst". Dies ist offensichtlich notwendig, um dem Benutzer eine visuelle Rückmeldung zu geben.

Die einzige Möglichkeit, dies zu tun ist bisher, den Flash über Javascript mit einer riesigen XML-Zeichenfolge zu initialisieren, einen Klick-Callback zu haben, der mit Javascript interagiert, und mit Javascript die XML-Zeichenkette mit regulären Ausdrücken zu ändern Senden Sie das XML an den Flash zurück. Es ist ziemlich offensichtlich, dass diese Methode FAR von optimal und auch sehr, sehr langsam ist.

Ich habe FusionMaps, amMap, AnyMaps und diyMap ausprobiert und bis jetzt habe ich keine Möglichkeit gefunden, dies mit beiden zu tun. Wenn jemand etwas Ähnliches mit einem von diesen getan hat, würde ich wirklich wissen, wie :-)

Hat jemand irgendwelche Hinweise oder Vorschläge auf, was ich betrachten sollte? Ich fange an zu denken, dass es einfacher (wenn auch weniger flexibel) wäre, einfach die freien SVG-Kontinentkarten auf Wikipedia zu verwenden, sie in PNG zu konvertieren und eine Imagemap aller Länder zu erstellen - dann Canvas und VML verwenden, um ein zu zeichnen Element an der Spitze der Länder - aber das scheint nur ein großer Schmerz und sehr fehleranfällig im Vergleich zu einer Flash-Lösung.

Dank für das Lesen, und ich hoffe, dass jemand ein paar Tipps für mich :-)

  • Mr. Doom

Antwort

0

Wenn es funktioniert, was Sie bauen, Virtual Earth hat, ist in 6.1 in diesen Tagen und hat eine Menge von ausgezeichneten und einfach zu bedienenden Javascript-Aufrufe in der API zum Laden von Polygonen. Wenn Sie über die Punktdaten verfügen, die die Länder definieren (die frei verfügbar sein sollten), können Sie einfach ein VEShape-Polygon mit einem Array von VELatLong-Objekten definieren und einen Ereignishandler darauf werfen, um sie beim Klicken einzufärben. Das Schöne an VE ist, dass die JavaScript-API wirklich flexibel und einfach zu bedienen ist und viele nette Mapping-Funktionen bietet.

0

Falls Sie interessiert sind, gibt es eine ASP.NET Virtual Earth Mapping Server Control hier:

http://simplovation.com/page/webmapsve.aspx

Dies ist im Wesentlichen ein "Wrapper" um Virtual Earth, die meisten abstrahiert aus (wenn nicht alle) des JavaScript, das Sie normalerweise schreiben müssten. Damit können Sie Kartenereignisse verarbeiten und Kartenereignisse vollständig vom serverseitigen .NET-Code aus bearbeiten.

1

Versuchen Sie, mit Google Maps zu beginnen. Wenn Sie ein gutes Beispiel für eine Website wünschen, die Google Maps verwendet und farbige Bereiche darauf legt, besuchen Sie Wikimapia.org.

0

Ich war auf der Suche nach dem gleichen, und dann habe ich Google Virtualization Intensity Map gefunden. Sie können mehr Informationen finden here

2

erwarten nur scheint wie ein großer Schmerz und sehr fehleranfällig

ich den Schmerz überwunden und fest Fehler (ok, die meisten von ihnen). Hier ist das Ergebnis: jVectorMap