Efectivamente. Cuando usas getAttribute se busca un atributo en el elemento y no a uno de sus nodos hijo.
getAttribute("provincia") buscará si tiene ese atributo el elemento casa
<casa provincia="la provincia">
El problema de definir así todos los valores de lo que pueda tener una casa es que pueden haber valores demasiado largos, por ejemplo si le quieres poner una descripción.
Usa el DOM para acceder a esos elementos y busca el valor de los nodos de texto que contienen.
Si en markers guardas un elemento casa concreto puedes acceder a los elementos x contenidos en ese elemento casa de la misma forma que referenciaste a casa y al haber uno sólo de cada en cada elemento casa podrás acceder a él usando la posición 0
markers[0].getElementsByTagName('provincia')[0] apunta al elemento provincia del elemento casa con el que estés trabajando.
Para saber lo que contiene su nodo de texto accedes a él mediante firstChild.nodeValue
Prueba a pedirle una alerta de
Código:
markers[0].getElementsByTagName('provincia')[0].firstChild.nodeValue
Un saludo