刷新后Gmap失去GListener

本文关键字:GListener 失去 Gmap 刷新 | 更新日期: 2023-09-27 18:17:47

我有一个Gmap控件,我通过c#代码添加了很多点(标记)。直接在我添加标记之后,我添加了一个GListener到所有的标记。

现在我在网页上有几个按钮,当用户单击其中一个时,地图会刷新,只显示相对标记。当用户点击第一个按钮时,一切正常,但是当用户点击任何其他按钮时,Glistener就不工作了,但是标记会相应地改变。

下面是我添加标记和监听器的一些代码。

marker = new GMarker(new GLatLng(lat, lng), new GIcon(Gicon));                 
clicklistener = new GListener(marker.ID, GListener.Event.click, string.Format(@"function(){{var w=new google.maps.InfoWindow();w.setContent('<center><b>{0}</b></center></br><center>{3}</center></br><center>{4}</center></br><center>{5}</center></br><center>{6}</center>');w.open({1}, {2});}}", SName + " , " + FacType, GMap1.GMap_Id, marker.ID, "Printer Status: " + PrinterStatus.ToString() + ", Battery: " + Sbat + "V  Signal: " + SSignal + "%", "Scanner Status: " + ScannerStatus.ToString(), "SMS Received: " + Sreceived + " , SMS Sent: " + Ssent, "Last SMS Date: " + SsmsDate.ToString() + " , Last Comms Date: " + ScommsDate.ToString()));

标记和clicklistener是全局定义的,并通过gmap1.add(Marker)和gmap1.add(clicklistener)添加到地图中什么好主意吗?

的问候帕特里克。

刷新后Gmap失去GListener

已排序

所有需要做的是完全重置整个地图,像这样:GMap1.reset ();然后根据需要添加新的标记和侦听器:)