Это проблема переменной области. Вы не объявили локальную переменную с именем markerhtml в своем коде. Вы можете добавить его под переменными lat и long.
lat = $(this).find("lat").text();
long = $(this).find("long").text();
var markerhtml;
Также обратите внимание, что вам следует переименовать переменную из «long» в «lng» (или что-то еще). долго было зарезервированным словом в JS в один момент. Немного чище его не использовать.