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(); }