I found that
Android’s Location Manager API
Google Play Services Location APIs
Google Maps Geolocation API
can get current location, what is the difference between them?
Especially Google Maps Geolocation API is not free, why should one use that instead of free ones?
Maybe Android's location Manager and Google play service location is only available to Android device, while Google Maps Geolocation works both on Android and iOS?