/// <summary> /// Initialize hint. /// </summary> /// <param name="canvas">Canvas to show hint.</param> /// <param name="mapControl">Map control.</param> /// <param name="addressByPointTool">Reverse geocoding tool.</param> public void Initialize(Canvas canvas, MapControl mapControl, AddressByPointTool addressByPointTool) { Debug.Assert(canvas != null); Debug.Assert(mapControl != null); Debug.Assert(addressByPointTool != null); _canvas = canvas; _mapControl = mapControl; _addressByPointTool = addressByPointTool; // Subscribe to mouse events for dragging hint. canvas.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(_PreviewMouseLeftButtonDown); canvas.PreviewMouseMove += new MouseEventHandler(_PreviewMouseMove); canvas.PreviewMouseLeftButtonUp += new MouseButtonEventHandler(_PreviewMouseLeftButtonUp); INotifyCollectionChanged selection = _mapControl.SelectedItems as INotifyCollectionChanged; selection.CollectionChanged += new NotifyCollectionChangedEventHandler(_SelectionCollectionChanged); }
/// <summary> /// Init geocoding hint if map control from geocodable page. /// </summary> private void _InitGeocodingHint() { // Find address by point tool. AddressByPointTool addressByPointTool = null; foreach (IMapTool tool in _tools.Tools) { if (tool is AddressByPointTool) { addressByPointTool = tool as AddressByPointTool; break; } } if (addressByPointTool != null) { GeocodingHint.Initialize(canvas, this, addressByPointTool); _isGeocodingHintInitialized = true; } }