1
每次縮放更改時,我都會在服務器端的地圖上繪製一些多邊形。這工作正常!Primefaces p:remoteCommand更新清除谷歌地圖監聽器
我的問題是,在第一次執行後,p:remoteCommand上的「update」調用正在銷燬我的監聽器「zoom_changed」。如果我刪除了「更新」,「zoom_change」偵聽器正常工作,但地圖未更新且多邊形從不出現(僅在刷新頁面時)。
我需要做什麼來使這兩件事情一起工作?
我使用primefaces 5.1
$(document).ready(function() {
google.maps.event.addDomListener(window, 'load', initialize);
});
function initialize()
{
google.maps.event.addListener(PF('map').getMap(), 'zoom_changed', function() {
var map = PF('map').getMap();
var center = map.getCenter();
var zoom = map.getZoom();
myRemoteBoundsChange([{name: 'zoom', value: zoom}, {name: 'center', value: center}]);
});
}
<body>
<p:remoteCommand name="myRemoteBoundsChange"
actionListener="#{MB.drawPolygon}" update="map"/>
<div id="divmap">
<p:gmap id="map" model="#{MB.mapa}" center="#{MB.centroMapa}" zoom="#{MB.zoom}"
fitBounds="false" type="ROADMAP" widgetVar="map" />
</div>
</body>
您好!感謝您的回答。 事實上,我已經嘗試過這種方法,它沒有奏效。順便說一下..我決定通過客戶端繪製我的多邊形。 –