Create a macro with geozone triggers (and possibly others) to run in the background and keep track of your location and save it to a global variable. Then you can use that variable as a constraint in your other macros, including the one that detects the beacon.