Canadian sprinter Andre De Grasse finished first and set a meeting record in the 200-metre race at the Diamond League stop in Rabat, Morocco, on Sunday.

The Markham, Ont., native ran the distance in 20.03 seconds. Ameer Webb of the U.S. was second with a time of 20.18, while Great Britain's Zharnel Hughes registered a time of 20.22 to finish third. 

De Grasse runs away with 200m in tune-up for world championships0:47

De Grasse won both the 100 and 200 races at the Canadian track championships in Ottawa last weekend. 

The 22-year-old has won four consecutive Diamond League races, capturing the 200 in Rome, and the 100 in Oslo and Stockholm.

Andre De Grasse wins Diamond League 200m race in Rabat2:53

In the 800m, Brandon McBride of Windsor, Ont., clocked a season-best time of one minute, 45.01 seconds to finish fourth.

Brandon McBride places fourth in Diamond League 800m3:40

Nijel Amos of Botswana crossed the line first with a time of 1:43.91, Kenya's Kipyeogon Bett was second in 1:44.28, and Donavan Brazier placed third at 1:44.62. 

Liz Gleadle of Vancouver threw a personal-best 60.43 metres to place fourth in javelin. Barbora Spotakova of the Czech Republic won the event with a distance of 63.73, Slovenia's Martina Ratej was second at 62.46, followed by Tatsiana Khaladovich of Belarus at 62.38. 

Toronto's Shawn Barber, who won his event at the nationals, finished fourth in the pole vault competition as he cleared 5.60m. 

Pawel Wojciechowski of Poland cleared 5.85 for the win, Raphael Holzdeppe of Germany was second at 5.70, and Piotr Lisek of Poland also cleared 5.70 for a third-place result. 

With files from The Canadian Press