I had this same idea but was way too lazy to implement it. Well done. :-)
How hard are the borders of each locality? For example, if I exchange messages with someone a few miles away, a third party might only be able to see half the conversation if they're too far from one of us.
Or is it like a thousand chatrooms, and if I travel a short distance then I suddenly flip to a new chatroom?