Corona uses the Location Services provided by the operating system. In general it works like this:
1. Get your current location from connected WiFi or triangulated by various Cell towers. The accuracy of this isn't very good. It's why you start with a large circle.
2. Next, location services attempts to connect to the GPS constellation (cluster) of satellites. Your phone has to see at least four visible satellites and get signal from them to get more accurate data. It doesn't take a lot of metal in a building to block receiving and causing the visible satellites to drop below enough needed. You certainly should step outdoors and give it a minute to acquire signal. The US has 32 satellites in its constellation. Other countries could have fewer making acquisition more difficult.
3. You can put a print statement in your event handler for location services and print out the values in the event table. If you don't see the time changing, you probably have not acquired GPS, but you should see events generating reasonably frequently (once a second or so). If your signal is coming from cell tower triangulation or from the local WiFi you're on, your location isn't going to change.
4. You have to have all your location services permissions correctly. Starting with Android 6, you have to request a dialog box to get the user's permission to access location services. There are two permissions:
The second one will get you the Cell tower/WiFi location, but you have to have FINE_LOCATION to get GPS data. If you're not requesting these permissions correctly, Corona may not be allowed to receive GPS information. The best example would be to look in the Corona Sample App: "Camera", it's in the "SampleCode/Media/Camera" folder and make sure you're requesting and have been granted the FINE_LOCATION permission.
This may be why Google Maps works and your app doesn't.