How to turn WiFi on\off based on location
Solution 1:
There is no public API to control the Wifi on iOS. Therefore Apple won't allow it on the AppStore.
If such an app exists then maybe on Cydia.
Solution 2:
It does not exist without jailbreak, (and if it does) checking (and saving!) your location each time waste alot of battery resulting in the opposite of what you're trying to achieve.
Besides, on iOS 7 if you open Control Center (by moving your finger from the bottom of the screen to the middle), you can uncheck WiFi very easily.
Solution 3:
Another, semi-manual solution is to create a reminder for when you leave / arrive at a particular location to enable/disable your Wi-Fi.
Solution 4:
I know this question was asked 6 years back but I thought I should comment. With the latest IOS 14 update and the new Shortcut app. you can create an automation based on location. For example, when I leave X do the following action like turn WiFi Off. I have done this but did not get the opportunity to try it out due to the current restrictions on travel pandemic related and being a person with a disability I don't want to risk my behind.
My thoughts are till you are in that WiFi network and leave it; it should disable WiFi but I have also created an automation to turn WiFi On once I come back to that location. My dilemma is WiFi is turned off and I don't use Data much unless critical e.g. booking a Uber ride so when I arrive at my location, Data is switched off. Will my phone know where I am with this disabled; if not I think it will fail in connecting to WiFi when I have reached the location. The second automation of turning WiFi On would not work I guess