Most people looking at your Purchase page are not willing to give you money. A typical shopping cart abandonment rate is more than 75%.
To add insult to injury they now spam me advertisements of the products I had to abandon, which they naturally still cannot sell me.
This is the right way to do it. How're they supposed to know where you're from, where you'll be buying, if you're not logged in. The alternative appears to be to ask every visitor to give their location before you show them anything.
Also Amazon may know your current location but not where you'll be when you buy something. If I'm travelling does that mean that I can't buy something shipped to my home that would I could buy if I were at home.