I used Google map API to fetch all the gyms then cached it locally. It only allows (at least from what I can find) text search within a viewport. I think there are some problems when loading boulder gyms in France. At first glance, I thought France was not really into bouldering...
True. I did fetch data from Google Maps. Can't guarantee that the data is accurate in every place. But i think i will implement something like a "add/remove your gyms"