Re: The third way...
"(Google has big database from its maps cars of wifi APs & their location)"
It isn't from maps cars it is from android devices. The endless nagging you get until you allow the "Improve location accuracy" lie and the only way to disallow it is deleting all play services data.
Allow "Improve location accuracy" and your device constantly sends information about all the APs it can see and its GPS location if it has one to google. Google will also tell your device where it is from the APs it can see.
Annoyingly that also allows google to geolocate your IP address and so any device connected to it with similar accuracy. Google web search and maps on my PC knows where I am within a few yards only because I let android devices connect to my WiFi.