Have you set a breakpoint or a log in your openMaps:
method to make sure it's not accidentally getting called twice?
My next guess is that your query is returning a cache then performing the network request and returning that result. By default queries shouldn't return a cache, but I've seen the Parse SDK do some weird things in the past.
Try setting the cachePolicy on your query to kPFCachePolicyNetworkOnly.
query.cachePolicy = kPFCachePolicyNetworkOnly