На самом деле не числа 32-битные, а битовые операции работают только с 32-битными числами и автоматически приводят операнды к таковым округляя и выкидывая лишние биты.
Вообще этот алгоритм (hash32) притащили из Java, и вообще-то он может возвращать отрицательные числа.
А вот что хотел автор складывая число и строку (h1 + str) сложно сказать.
а) это не поддомен. Можно называть это префиксом/путём/подкаталогом и т.п.
б) в общем случае нельзя. А когда можно это делается не в nginx, а в коде/настройках сайта.
Что мешает не вкладывать карту в кнопку, а положить рядом?
Или даже наоборот, положить кнопку в див для карты и удалить скриптом когда на неё нажмут и загружить карту.