0

我正在研究一个已经实施的项目。我在项目中添加了集群,现在的问题是之前显示的自定义信息窗口现在没有在 iOS 中显示。

在 Android 中我能够实现它,但在 iOS 上我无法实现。这是我之前工作的代码。

早期继承:

public class MapRenderer : Xamarin.Forms.GoogleMaps.iOS.MapRenderer

现在聚类后的继承流程:

abstract public class ClusteredMapRenderer : Xamarin.Forms.GoogleMaps.iOS.MapRenderer


public class MapRenderer : ClusteredMapRenderer


protected override void OnElementChanged(ElementChangedEventArgs<View> e)
{
      nativeMap = Control as MapView;
      nativeMap.MarkerInfoWindow += MarkerInfoWindow;
}
public override UIView MarkerInfoWindow(MapView map, Marker marker)
{
     // here I return UIView that I want to display
}

MarkerInfoWindow 被 Xamarin.Forms.GoogleMaps.iOS.MapRenderer 覆盖

此流程之前工作,但在我实施集群后它停止工作。我们如何拥有自定义信息窗口?我已经使用此链接实现了集群: https ://github.com/mierzynskim/Xamarin.Forms.GoogleMaps.Clustering/tree/master/src

编辑(1)如果我设置了就可以获得信息窗口

innerItem.Map = nativeMap;

protected override void OnMarkerCreating(Pin outerItem, Marker innerItem)

但是在这样做之后,我得到 2 个引脚而不是 1 个(1 个集群和 1 个非集群),因为额外的非集群引脚集群不起作用

4

0 回答 0