I hope this question isn't too general, but I'm new to using maps, I'd like to make a map of one country on which I can plot points according to their geocodes from my mysql database, and to have the administrative districts outlined, like on google maps api, except I have read that google maps doesn't allow you to show just one country, and also, I'd like to use a free api if possible.

Would anyone be able to point me in the right direction?


This question is too broad.

But, if you want one answer, just use Leaflet: http://leafletjs.com/


  • It's easy
  • It's fast
  • It's light
  • it'll do what you need, and maybe more.

How do you do it? Well, if you have large volumes of data, make a tiled map. Perhaps use TileMill and MapBox to make this easy. If you have a small amount of data, you could just make a vector map. Save your data as JSON and you can load it up in Leaflet.

| improve this answer | |
  • Thank you very much for your suggestions, I'll look more into leaflet, Tilemill, and CartoDB. I really appreciate your response! – bryant Aug 4 '14 at 5:43
  • Oops, I actually meant MapBox, but CartoDB is good too. Start with MapBox, though, as you can set up a self-contained mapo of just one area with that easily. – Alex Leith Aug 4 '14 at 6:43

You could do this by creating a client-side map using OpenLayers with a Google base layer and setting the restrictedExtent property to a bounding box covering the country you want to display. I don't think that violates the Google terms (if that's what you mean).

For the map server, MapServer has MySQL support. GeoServer has MySQL support as an add-on, but it is not currently maintained.

| improve this answer | |
  • thank you very much for your suggestions, I'm going to look into these these. – bryant Aug 4 '14 at 5:42

Not the answer you're looking for? Browse other questions tagged or ask your own question.