You can add controls dinamically on serverside.
On serverside you have to find first of all your placeholder. (for example: div, form)
After you can call your webservice and change the city and the other variables.
And the end of the process you can add a new LiteralControl to your placeholder.
You can use this as the follows:
Control myPlaceHolder = FindControl("form1");
String City = "your city";
String yourBanner = "<asp:label runat=server id=\"yourBannerLabel\" text="\" + City + "\"></asp:label>";
myPlaceHolder.Controls.Add(new LiteralControl(yourBanner));
I hope I could help you! Let me know if something is missing.