Since OSM data are now compatible with FG license, why don't use it ? Two solutions are doable :
1) Use the XAPI request system : it require a working Internet connection, we could refresh the MapWidget depending on zoom level with different
2) Generate a "poi.dat.gz" (Point Of Interest) from OSM database (request to download the Planet.osm ~25Gb compressed) : it require to be synced regulary (each release?)
Looking at the XAPI request system it's really easy to make a request for worldwide or specific area. With XML format for example :
List of all country in the world + capital_city :
http://www.overpass-api.de/api/xapi?node[place=country]
List of all cities in an area :
http://www.overpass-api.de/api/xapi?node[place=city][bbox=-1.32,42.94,9.24,46.23] ( bbox=west,south,east,north )
We can use several "place" tags like :
place=country
place=county
place=city
place=town
place=village
place=hamlet
Be careful ! For town, village, hamlet you need to use a reasonable bounding box !
The same can be done with JSON format :
http://www.overpass-api.de/api/interpreter?data=[out:json];node[place=country]%28-4,38,12,60%29;out;