Please refer to the sample project and follow the steps:
1. Run the attached application.
Thank you for reporting this issue.
I have also updated your Telerik points.
Currently, the possible solution that I can suggest is to override the ViewportChanged method of the custom MapCluster and consider the NumberOfWraparounds when determining whether the cluster is inside the viewport:
public
RadForm1()
{
RadMapElement.VisualElementFactory =
new
MyMapVisualElementFactory();
InitializeComponent();
}
public
class
MyMapVisualElementFactory : MapVisualElementFactory
{
public
override
MapCluster CreateCluster()
{
MyMapCluster cluster =
new
MyMapCluster();
return
cluster;
}
}
public
class
MyMapCluster : MapCluster
{
public
override
void
ViewportChanged(IMapViewport viewport, ViewportChangeAction action)
{
base
.ViewportChanged(viewport, action);
for
(
int
i = 0; i <= viewport.NumberOfWraparounds; i++)
{
PointG location =
new
PointG(
this
.Location.Latitude,
this
.Location.Longitude + 360 * i);
if
(viewport.Viewport.Contains(location))
{
typeof
(MapCluster).GetField(
"isInViewport"
, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(
this
,
true
);
break
;
}
}
}
}
I hope this information helps. If you need any further assistance please don't hesitate to contact me.
Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik