He said: “You are not Turkey’s boss. You are not a first class [country] and Turkey is not second class. We are not treating you like that, and you have to treat Turkey properly.

“If you want to maintain your relations with us, you have to learn how to behave.”

Germany’s foreign ministry said the central government had nothing to do with the cancellations, and Ankara should refrain from “pouring oil on the fire”.

The growing row is troubling for Chancellor Merkel because she persuaded Turkey to help block the surge of migrants – many of them Syrian refugees – into the EU.

Separately, the Dutch government on Friday described plans for a Turkish referendum campaign rally in Rotterdam as “undesirable”. Turkish Foreign Minister Mevlut Cavusoglu was reportedly meant to attend the rally scheduled for 11 March.

‘German spy’

Ties between Berlin and Istanbul are also strained over Turkey’s arrest of Deniz Yucel, a journalist who works for Die Welt.

Mr Yucel “hid in the German embassy as a member of the PKK and a German agent for one month”, Mr Erdogan said.

“When we told them to hand him over to be tried, they refused.”

German’s foreign ministry called the spy claims “absurd”.

Ms Merkel, referring to the case earlier, told reporters in Tunis: “We support freedom of expression and we can criticise Turkey.”

German Justice Minister Heiko Maas sent his Turkish counterpart, Mr Bozdag, a sharply-worded letter warning against “dismantling the rule of law”.

He said the Turkish treatment of Mr Yucel was “disproportionate”.

“If Turkey fails to uphold core European values, then closer relations with the European Union will become more difficult, or impossible,” he wrote.

In Turkey, dozens of writers and journalists have been arrested in a far-reaching crackdown that followed a failed coup against Mr Erdogan in July 2016.

A large number Turkish diplomats and soldiers have sought asylum in Germany since the coup attempt, a further source of bilateral tension.