刷新后Gmap丢失了GListener

时间:2013-06-10 10:42:24

标签: c# google-maps subgurim-maps

我有一个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()));

Marker和clicklistener是全局定义的,并通过gmap1.add(marker)和gmap1.add(clicklistener)添加到地图中 任何想法?

此致 帕特里克

1 个答案:

答案 0 :(得分:0)

排序。

所有需要做的就是彻底重置整个地图,如下所示:         GMap1.reset(); 然后根据需要添加新的标记和监听器:)