Every time when I am using Google map or other website by xfinity wifi, I found I was located at another city very far from my home. Is there anyone who knows why?
You likely recently received a new / different WAN (public) IP address assignment to your connection from their DHCP server / IP address pool, and the rDNS / geolocation data that is associated with it is now incorrect for you as it previously belonged to someone else that lived in that area. Comcast shuffles blocks of IP addresses around the country all the time. ISP's don't correct this. A third party service does. Unfortunately, this is typically a *back-burner* thing to get corrected. The only thing that you can do is to report it. You can try this;
Wait for the geolocation provider to approve your request. If your request is approved, the amount of time it takes to see the correction varies by provider. The average is a month or more.