internal virtual void displaySearchResults(Java.Lang.Object[] objects)
        {
            GLMapMarkerStyleCollection style = new GLMapMarkerStyleCollection();

            style.AddStyle(new GLMapMarkerImage("marker", mapView.ImageManager.Open("cluster.svgpb", 0.2f, unchecked ((int)0xFFFF0000))));
            style.SetDataCallback(new GLMapMarkerStyleCollectionDataCallbackAnonymousInnerClassHelper(this));
            GLMapMarkerLayer layer = new GLMapMarkerLayer(objects, style);

            layer.SetClusteringEnabled(false);
            mapView.DisplayMarkerLayer(layer);

            //Zoom to results
            if (objects.Length != 0)
            {
                //Calculate bbox
                GLMapBBox bbox = new GLMapBBox();
                foreach (object @object in objects)
                {
                    if (@object is GLMapVectorObject)
                    {
                        bbox.AddPoint(((GLMapVectorObject)@object).Point());
                    }
                }
                //Zoom to bbox
                mapView.SetMapCenter(bbox.Center(), false);
                mapView.SetMapZoom(mapView.MapZoomForBBox(bbox, mapView.Width, mapView.Height), false);
            }
        }
 protected override void OnDestroy()
 {
     GLMapManager.RemoveStateListener(this);
     if (markerLayer != null)
     {
         markerLayer.Dispose();
         markerLayer = null;
     }
     base.OnDestroy();
 }