Turkey's Deputy Prime Minister Bekir Bozdag said the blast was an "act of terrorism", while the military said the attack was "a treacherous terror act".
There has been growing discontent against the pro-Beijing government in the city of seven million people after violent 11-week pro-democracy movement of 2014 fizzled out.