Yes, you need to opt in to this feature to update locations for your local WiFi conditions.
Go to Settings app -> Privacy -> Location Services -> System Services -> Frequent Locations -> Turn on Frequent Locations and Improve Maps
If you have already opted in, then you should turn off Location Services entirely.
Settings app -> Privacy -> Location Services - OFF
Then turn off WiFi and follow the steps on improving GPS - which basically is set the date/time and then power off the phone. Now turn it back on and while WiFi is off, try opening maps and move to a place where GPS is possible to receive a satellite signal.
Press the triangle/chevron and see that the location updates. Once you've done that, go ahead and turn WiFi on. Also, you might optionally check for an iOS update and then update your carrier settings. (Settings app -> About -> Tap on the carrier settings and record the values. If there is an over the air update, it should prompt you to load it. If not, you could call your carrier and check that your settings are up to date.
The opting out, and then reboot is important to give the servers time to clear your old data as well as send the iPhone through the start up location finding algorithms in my experience. Once the reboot is done, you can enable the location and verify that frequent locations is set appropriately.