Rabat will become the first African city to host a Diamond League meeting later this year, but New York has been dropped from the calendar.
The Moroccan capital will host this season's third meeting on 22 May.
IAAF president Lord Coe said in a statement: "We are pleased to be able to take our premier athletics series into a new continental area."
The New York organisers said they would look to produce a new event, with a "street meet" under consideration.
The United States retains one Diamond League meeting in Eugene, Oregon.
Morocco has previously hosted other IAAF events, including the 2014 Intercontinental Cup in Marrakech.