ip geolocate on the server-side before the initial page loads, so you can show them the weather for where you think they are. it will give them something to look at while the client-side geolocation is happening (which can take a few seconds).
when the client-side geolocation returns and gets a different city name, maybe just do some fancy javascript animation to just overlay the changed parts that you got through ajax.
the ip geolocation will probably not be far off from what the client-side gps/cell location says, so the weather will probably not be much different, either. so when you swap out the updated info, it may just change the temp numbers by one or two degrees.
when the client-side geolocation returns and gets a different city name, maybe just do some fancy javascript animation to just overlay the changed parts that you got through ajax.
the ip geolocation will probably not be far off from what the client-side gps/cell location says, so the weather will probably not be much different, either. so when you swap out the updated info, it may just change the temp numbers by one or two degrees.