2012-09-18 45 views
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。

這怎麼可能被重新分解,因此便拿起模板變量的值?

在此先感謝。

回答

0

的模板語法模板變量是[[*tvname]]。嘗試:

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>'); 

[[+tvname]]爲您getResources塊內使用,作爲模板變量值輸出到佔位符,並通過模板變量標籤不被分析是正確的。

+0

我真是個笨蛋。是的,你對語法絕對正確 - 不幸的是它仍然不會產生這些值。 – user1604175

+0

上面指出的那些電視機在你查看源代碼時是空白的嗎?腳本代碼在您的主帖子中,在模板中究竟在哪裏?還是一塊?非常令人驚訝的,如果'[* PAGETITLE]'不露面 – okyanet

+0

只注意到也是你與輸出修飾符進一步的語法錯誤,應該是'[*分支更多:htmlent]''不[ *分支more.htmlent]'。分行電子郵件也一樣。 – okyanet