Google Maps – Adding Detailed Google Maps Baselayer on Leaflet

google mapsleafletpoint-of-interest

I know that Google map baselayer can be used in Leaflet like this:

googleMap = L.tileLayer('http://{s}.google.com/vt/lyrs=s&x={x}&y={y}&z={z}',{ maxZoom: 20, subdomains:['mt0','mt1','mt2','mt3'] }); 

The Google Maps base layer is showing usually not all the points of interests as you know in Google lot of points of interests are hidden only when you type them in search they will appear. How to have all points of interests even the hidden one all visible in Google Maps baselayer implemented in Leaflet?
Point of interest shown in native google map
Point of interest hidden in baselayer google map in leaflet

Best Answer

You can't. Google does not let developers to control the amount of POIs being shown, and does not let developers download POI sets. Furthermore, each GMaps user will see more or less POIs depending on their own search history.

(And this is your periodic reminder that using GMaps' tiles goes against Big G's terms of service; and that's why GoogleMutant exists)

POI visibility depends on things like POI density, localization (longer names take more screen real estate and less POIs can be shown) and Google's mysterious algorithm to give some POIs higher priority than others (which you won't have any control of).

You can hide POI categories by providing custom map styles to the GMaps JS API (which is also supported in GoogleMutant), in the hopes that that'll leave space for other POIs, but that's about it.

(And this is your periodic reminder that using OpenStreetMap allows anybody to display POIs in whatever fashion they like)