0
我填充一個谷歌地圖用下面的代碼:鏌鋣getResources與谷歌地圖信息窗口
<script type="text/javascript">
google.maps.event.addDomListener(window, 'load', function() {
var map = new google.maps.Map(document.getElementById('gmap'), {
zoom: 8,
center: new google.maps.LatLng(51.414487, -0.207644),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infoWindow = new google.maps.InfoWindow;
var onMarkerClick = function() {
var marker = this;
var latLng = marker.getPosition();
infoWindow.setContent('<div class="map-info-window">\
<h3>WEA [[+pagetitle]]</h3>\
<p><strong>Branch contact:</strong> [[+branch-latlng]]</p>\
<p><strong>Telephone no:</strong> [[+branch-phone:htmlent]]</p>\
<p><strong>Email:</strong> [[+branch-email.htmlent]]</p>\
[[+branch-more.htmlent]]\
</div>');
infoWindow.open(map, marker);
};
google.maps.event.addListener(map, 'click', function() {
infoWindow.close();
});
[[getResources? &debug=`0` &showHidden=`1` &parents=`[[*id]]` &depth=`4` &tpl=`newBranchMapMarkerTpl` &includeTVs=`1` &processTVs=`1` &tvPrefix=`` &limit=`0` &where=`{"template:=":9}`]]
[[getResources? &debug=`0` &showHidden=`1` &parents=`[[*id]]` &depth=`4` &tpl=`newMarkerInit` &includeTVs=`1` &processTVs=`1` &tvPrefix=`` &limit=`0` &where=`{"template:=":9}`]]
});
</script>
而且2個getResources的內容調用如下:
newBranchMapMarkerTpl:
var marker[[+id]] = new google.maps.Marker({
map: map,
position: new google.maps.LatLng([[+branch-latlng]]),
title:"[[+pagetitle]]"
});
newMarkerInit:
google.maps.event.addListener(marker[[+id]], 'click', onMarkerClick);
但它沒有抓取setContent代碼中列出的模板變量;這是因爲它只在地圖頁面標題中引用一次,並且通常需要遍歷每個文檔。我試圖在BranchMapMarkerTpl中創建一個新的infowindow,它可以工作,但是在打開另一個時沒有關閉最後一個infowindow。
這怎麼可能被重新分解,因此便拿起模板變量的值?
在此先感謝。
我真是個笨蛋。是的,你對語法絕對正確 - 不幸的是它仍然不會產生這些值。 – user1604175
上面指出的那些電視機在你查看源代碼時是空白的嗎?腳本代碼在您的主帖子中,在模板中究竟在哪裏?還是一塊?非常令人驚訝的,如果'[* PAGETITLE]'不露面 – okyanet
只注意到也是你與輸出修飾符進一步的語法錯誤,應該是'[*分支更多:htmlent]''不[ *分支more.htmlent]'。分行電子郵件也一樣。 – okyanet