Google Maps needs no introduction. Being the most popular and detailed digital map provider in the world, it has been the leader in the map service industry for over a decade now. Millions of people use it every day for showing locations, generating routes to destinations, looking for petrol stations or car washes in the vicinity, etc. As a provider of classified ads scripts, we need a map service that is capable of supplying precise and interactive maps to serve the purposes of our clients. While Google Maps is definitely the best source of such maps, it is no longer free. In this article, we’ll talk about free map alternatives that we integrated into our Real Estate Listing Script so you could launch a real estate site with free maps.
A few years ago, when there were no providers of high-quality maps, except for Google Maps, we relied heavily on it because it was perfect and absolutely free. However, when Google decided to monetize the service, Flynax and a lot of other Google customers started looking for a free map alternative. Although the minimum package starts from $2 for 1,000 maploads, which is quite affordable (See Google Maps pricing), and taking into account a $200 credit that Google provides each month, you will quickly reach the limit. Because every time your user opens or refreshes a page with a map on it, the script sends a call to the Google API, which means -1 from your map package. So, if you expect a lot of maploads on your site then you will quickly run out of Google credit and end up paying to Google. The problem is that no one knows how much you will need to pay to Google for using their map service without any limitations. Of course, you may set daily limits for map usage but that will limit your users as well.
In search of decent and free map alternatives, we analyzed plenty of available services. After comparing their characteristics, we have found one that meets most of our criteria and requirements — Leaflet JS.
What is Leaflet JS?
Designed with simplicity, performance, and usability in mind, Leaflet JS has been a good fit for our PHP real estate script. And while Google Maps, with its multiple resources, a large number of specialists, who continuously work to improve the service, and an extensive library, seems to be an ideal choice, Leaflet is a worthy free alternative. It is highly efficient and regularly updated through contributions from community members from all over the world willing to make it as good as any paid source of web-based maps.
Leaflet JS may not be able to perform all the functions that Google Maps or other premium services do, but it does make the basic things work perfectly. It has tile layers and vector layers (polylines, polygons, circles, rectangles), markers, pop-ups, image overlays, GeoJSON, etc. It has a few zoom options, marker dragging, keyboard navigation, drag panning with inertia functions, etc. Besides, it can be easily customized.
Types of Maps Used in Our Script
We use two types of maps in our scripts: static and dynamic. Dynamic maps are mainly displayed on the Search on Maps page in our real estate script and in all our classified scripts on the following pages:
- Search on Map
- Listing types and account types in Map view
- Listing Details and Accounts
- Plugins, for example, on the Post an Ad page if the Location Finder plugin is installed
- Search by Distance plugin, etc.
Static maps are map screenshots indicating a certain location that are used in all our scripts to show locations of listings and accounts on the Listing Details and Account pages. Listings and accounts on the maps are shown as markers.
The lightweight Leaflet JS engine that we use in our script works with four map providers
- CartoDB, and
Google and Yandex provide high-standard and extremely detailed map tiles which are great in all aspects except one — their price. OpenStreetMap and CartoDB are free, but their map tiles are less professional.
Static maps, which are used on Listing Details and Seller pages, as well as on listings that don’t have any images, are provided by Google Static Maps and Yandex Static Maps. They are free to use.
The zoom option allows you to select an area that will be loaded by default in the map frame on the Listing Details and Seller pages. You may select a zoom level in the range from a street view to worldwide.
There are a few zoom options that you can use:
- Scroll wheel zoom
- Pinch-zoom on mobile
- Double click zoom
Geocoding is a very useful function. It transforms a text-based description of a location, such as an address or the name of a place, into geographic coordinates — latitude and longitude, which are used to identify a location. Geocoding allows users to find various kinds of locations: buildings, bridges, street intersections, etc.
Our script offers three geocoding providers:
- Google Places
- OpenStreetMap, and
Google Places is a service that works as a catalogue of places that a user may be interested in. It returns information about places based on HTTP requests. Places are defined within this API as establishments, geographic locations, or prominent points of interest. Just like all other services provided by Google, this one requires a premium subscription.
OpenStreetMap geocoding service is free and more permissive compared to Google Places. In addition, many people believe that OpenStreetMap is as accurate as Google Maps and other commercial projects due to the fact that it is evaluated, updated, and maintained by a constantly growing community. It is also supported by big corporations, like Microsoft, Apple, Facebook, DigitalGlobe, etc. that integrate OpenStreetMap data into their solutions and contribute back.
ArcGIS is a cloud-based mapping and analysis solution, which is used in more than 100 countries around the world. Its geocoding service module provides forward geocoding, reverse geocoding and batch geocoding. If you have a public account on ArcGIS, you can use it for free. However, just like with OpenStreetMaps, if you wish to use ArcGIS on a commercial basis and enjoy its extended services, you need to buy a premium subscription.
Now, when you understand what free maps we use in our real estate script and why we use them, let’s list the things that you can set up in our maps module:
- Disable the Maps module (if you don’t think that you need maps on your website)
- Set a map service provider (you can select from four available providers: Google Maps, OpenStreetMap, CartoDB, and Yandex)
- Set a location default zoom (you can select an area that will be loaded by default in the map frame)
- Set a default location on the map search (this setting allows you to set a default location for your dynamic maps)
- Set a default zoom on the map search (you can set a default zoom for the selected default location)
- Set a maximum number of markers on your maps (this setting allows you to limit the number of markers displayed on your maps to avoid marker overlapping)
- Set a maximum number of markers on the map in the mobile interface (you can control the number of markers loaded on the maps on users’ smartphones)
- Set a service provider for static maps (there are two providers to choose from: Google Static Maps and Yandex Static Maps)
- Set a geocoding service provider (you can select a geocoding provider from the three providers available: Google Places, OpenStreetMap, and ArcGIS)
You can manage all the settings from the admin panel.
Today, when web-based maps have become an integral part of our online experience, it is hard to imagine a website, be it a real estate agency portal or a classified ads site, without maps. That is why we offer both static and dynamic maps in our script allowing you to choose a map provider and a geocoding service and set up the other elements that will make the user experience on your website as enjoyable as possible. If you still have any questions about the free maps that we use in our real estate script, please, feel free to contact our specialists.