Just to clarify.
A Taxi for hire at Heathrow Airport is legally required to take a fare up to 20 miles if it is inside Greater London. If the destination is even 100 yards outside this area the passenger and driver negotiate a price. The driver is not legally required to take the passenger to their destination if it is outside Greater London. The passenger is entitled to negotiate with as many other drivers as they wish.
This is also the case for a Taxi for hire in London that stops for a passenger. It is a legal requirement to take a fare up to 12 miles, or an hour's duration, if the destination is within Greater London. Again, if it is outside these parameters then the driver and passenger can negotiate a price.