If you want to have this content to get indexed and ranked by search engines, you need to have separate URLs for different content.
Googlebot crawls from different countries, but Google doesn't have data centers for crawling in every city. In the US, most of Googlebot's crawling comes from Mountainview, CA which is where Google has headquarters. With a single URL, Google would only be able to crawl and index your content for Mountainview.
When you do have separate URLs, Google will send users to pages that are appropriate for what they search for. If somebody from Dallas searches for "Paris", Google will refer them to your Paris page. It would be bad user experience and it would get you in trouble with Google to redirect them to your Dallas page from your Paris page just because they appear to be located in Dallas. In other words, search intent should trump the default location.