private void RegisterLayerViewModel(ILayerViewModel layerViewModel) { layerViewModel.LayerRefreshed += LayerViewModelOnLayerRefreshed; LayerViewModels.Add(layerViewModel); _map.Overlays.Add((Overlay)layerViewModel.GetLayer()); layerViewModel.CompleteInit(); }
private void LayerViewModelOnLayerRefreshed(object sender, EventArgs eventArgs) { var layerRawBounds = LayerViewModels.GetBoundingBox().BufferBy(0.00001F); if (layerRawBounds.GetArea() > 0) { var layer = (ILayerViewModel)sender; if (layer.GetFeaturesCount() > 1) { var layerBounds = MapQuestGeometryConverter.ConvertBoundingBox(layerRawBounds); _map.Controller.ZoomToSpan(layerBounds); } else { var layerBounds = MapQuestGeometryConverter.ConvertBoundingBox(layer.GetBoundingBox()); _map.Controller.ZoomToSpan(layerBounds); } } _map.PostInvalidate(); }
public MapquestMapViewController(IMvxAndroidGlobals androidGlobals) { LayerViewModels = new LayerViewModels(); _assetManager = androidGlobals.ApplicationContext.Assets; }