コード例 #1
0
        void _gMap_OnMapZoomChanged()
        {
            if (Layers == null)
            {
                return;
            }

            foreach (var l in Layers.OfType <MapMarkersLayer>())
            {
                l.MarkersTree.CurrentZoom = (int)_gMap.Zoom;
            }

            LabelPlaceManager.CurrentZoom = (int)_gMap.Zoom;

            var ls        = Layers;
            var showLabel = ShowLabel;

            foreach (var l in ls)
            {
                l.UpdateClusters();
            }

            if (showLabel)
            {
                LabelPlaceManager.PlaceLabels(_gMap.Markers.Where(m => m is MapMarker && ((MapMarker)m).IsVisible).Select(m => (MapMarker)m).ToList());
            }

            Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() => {
                OnMapResolutionChanged();
                ZoomLevel = (int)_gMap.Zoom;
                OnZoomChanged();
            }));
        }
コード例 #2
0
 public MapControl()
 {
     LabelPlaceManager        = new LabelPlaceManager();
     Tools.CollectionChanged += Tools_CollectionChanged;
 }