9

I need to create an interactive world map on the front page of a site, the view portal will be about 650x200 pixels. The interactivity would include the following, mouse-over a country would highlight (the countries are will literally be filled with "red" for example) that country and display the countries' name (preferably text in a div), I will also be linking the highlighting event with a that will highlight a country when selected.

I am having a difficult time finding a suitable solution, I refuse to use or learn a proprietry technology such as flash so it is not an option. I created a simple mockup using openlayers and a custom map image but the countries' markers load too slowly in IE6.

Also svg seems too large, as I tried to use RaphaelJS, but abondoned it when I realised the world map data is 1.2mb which is totally un acceptable for the front page of a site..

I am really at a loss on how I am going to do this, my last resort is to manually create 250+ (however many countries there are) pngs and apply mouseover events to hotspots in the image... but this is probably going to be a dead end too.. desperately seeking a solution, any helpful comments will be appreciated!

BrenGG
  • 141
  • 1
  • 1
  • 5

5 Answers5

19

I developed jVectorMap for that purpose.

bjornd
  • 22,397
  • 4
  • 57
  • 73
7

Why reinvent the wheel. Google Charts already does this.

Diodeus - James MacFarlane
  • 112,730
  • 33
  • 157
  • 176
5

I finaly settled with RaphaelJS, importing all the paths from an svg in inkscape, works amazingly well!

BrenGG
  • 141
  • 1
  • 1
  • 5
1

We've developed Highmaps, related to Highcharts, to easily solve data visualization problems like this. We also supply a map collection of over 350 maps, optimized for size to keep things lightweight.

For a drilldown example (loading more detailed map on mouse click) see this demo.

Highmaps is free for non-commercial use.

Population history by country Drainage basin of the Meuse river

0

Do you have country coordinate data stored somewhere?

If so setting up functions to parse through the passed in data and create 250+ paths should not be that large.

Shaunwithanau
  • 575
  • 5
  • 13
  • i have the coordinates of all the capitals, i made little markers in openlayers but it's too slow in IE6 (20% of the websites' visitors) I ideally want to stick with OpenLayers as a solution as I have grown really fond of it over the last week or two... – BrenGG Apr 27 '10 at 17:00
  • VML might work for what you want. Since it seems you are most worried about IE6 – Shaunwithanau Apr 28 '10 at 11:40