By Paul on Nov 19, 2018 at 10:48 PM
A few months ago, Google Maps drastically lowered their free use allowance. The vast majority of us are, alas, still in no danger of having any websites popular enough to hit the limit. For a customer who was hitting the limit, I added a "click to load map" option in WSN to reduce their number of maps impressions. That, of course, is a far from ideal solution. What we really need is an alterative mapping service.
I thought about Bing, but they have limits of their own and may put a tighter squeeze on people at any time. So I settled on investigating Open Street Map, under the theory that OSM being non-commercial should mean we can count on it being scalable and not trying to charge people. Quickly I discovered that OSM isn't so much a mapping service as a toolkit which can be used to start making a mapping service. To do anything but a simple static tile gets complex quickly and people turn to third party tools to help implement OSM.
For the basic task of putting markers on a map with info windows, I've found Open Layers is pretty good. A few more idiosyncracies than Google Maps, but close enough. Driving directions seem to require another third party service, unfortunately. Nor do I have an overlapping marker spiderifier type of tool for OSM. Nor do the min/max zoom tweaks or lots of other things work at the moment with OSM. Nor does it support multiple maps on a page yet, nor ajax progressive marker loading, nor location dragging on submit/edit which has proved a particular pain. It'll be a long slog to get close to feature parity with google maps, but at least the basics are working.
This brought me to another look at geocoding services. OpenLayers, alas, does not include their own geocoder. Considering Google Maps has a rather low geocoding limit that one can quickly hit by regenerating a decent sized directory, finding a good geocoder is definitely a top priority. The problem I'm running into with every one I look at is the same: their terms of service. Mapbox...
Read Full Blog Entry