I display a map in my Android app, and on that map I have an icon button that's used to fetch the current device's location. The button is in the top-right corner in the image below, and the current location is displayed as a blue circle:
Constantly fetching the device's location is battery-intensive, and in my app it's not necessary, so I fetch it every few minutes; when the user taps the current location button, I display the most recent one.
In the event that the user wants an up-to-date, accurate location, I provide additional functionality: When the user taps the button, there's a 3-second window where he can tap it again and it will fetch the most accurate location. There is currently no visual indication to the user that this window exists, just a popup message after the 2nd click that the most accurate location has been set:
I haven't done any research to support this approach. It just seems to me that a current location button might be in the same class of buttons that users would tap repeatedly to ensure they achieve the desired effect (for example, C & CE buttons on a calculator).
My questions are: Should this really be done, or is it bad UX? Would it be sufficient if some visual indication were provided for the 3-second window, or is the entire approach wrong?
After the great answers I've gotten here, I've realized that I was needlessly worried about battery drain, so I've decided to eliminate the double tap and set the behavior so that it always tries to get the most accurate location. The user likely won't be using the button often enough to cause a noticeable drain on the battery.