Let \(\mathcal{P}\) be a set of n points inside a polygonal domain \(\mathcal{D}\). A polygonal domain with h holes (or obstacles) consists of h disjoint polygonal obstacles surrounded by a simple polygon which itself acts as an obstacle. We first study t-spanners for the set \(\mathcal{P}\) with respect to the geodesic distance function \(\pi \) where for any two points p and q, \(\pi (p,q)\) is equal to the Euclidean length of the shortest path from p to q that avoids the obstacles interiors. For a case where the polygonal domain is a simple polygon (i.e., \(h=0\)), we construct a (\(\sqrt{10}+\epsilon \))-spanner that has \(O(n \log ^2 n)\) edges. For a case where there are h holes, our construction gives a (\(5+\epsilon \))-spanner with the size of \(O(n\sqrt{h}\log ^2 n)\). Moreover, we study t-spanners for the visibility graph of \(\mathcal{P}\) (\(VG(\mathcal{P})\), for short) with respect to a hole-free polygonal domain \(\mathcal{D}\). The graph \(VG(\mathcal{P})\) is not necessarily a complete graph or even connected. In this case, we propose an algorithm that constructs a (\(3+\epsilon \))-spanner of size \(O(n^{4/3+\delta })\) for some \(\delta >0\). In addition, we show that there is a set \(\mathcal{P}\) of n points such that any \((3-\epsilon )\)-spanner of \(VG(\mathcal{P})\) must contain \(\varOmega (n^2)\) edges.