Я думаю, вам нужно изменить свой код Javascript, чтобы иметь функцию, которую вы можете вызывать для создания соответствующей карты и маркера, поэтому вне любой группировки вы помещаете
<script>
function showMap(targetElement, location) {
var map = new google.maps.Map(targetElement, { zoom: 15, center: location });
var marker = new google.maps.Marker({
position: location,
map: map
});
}
</script>
, а затем внутри используемой вами группы
<a href="#" onclick="showMap(document.getElementById('map'), {{ lat: {GEOCode/Latitude}, lng: {GEOCode/Longitude} }}); return false;">Street View</a>
Это должно решить проблему, я думаю, с точки зрения взаимодействия XSLT и сгенерированного кода скрипта в HTML-документе.
Я не знаю, будет ли проще / быстрее не использовать new google.maps.Map
каждый раз, когда вызывается функция, и вместо этого возможно только переместить центр и маркер (или удалить существующий маркер и создать новый) в изначально созданной карте, но вот как можно реализовать этот первый блок сценария:
<script>
var map = null;
var marker = null;
function showMap(targetElement, location) {
if (map != null) {
map.setCenter(location);
marker.setPosition(location);
}
else {
map = new google.maps.Map(targetElement, { zoom: 15, center: location });
marker = new google.maps.Marker({
position: location,
map: map
});
}
}
</script>