示例#1
0
        private void OnNavigationalData(NavigationalData navigationalData)
        {
//            if (this.InvokeRequired)
//            {
//                this.BeginInvoke(new Action<NavigationalData>(OnNavigationalData), new object[] { navigationalData });
//            }
//            else
            {
                if ((null != navigationalData) &&
                    (true == navigationalData.Latitude.HasValue) &&
                    (true == navigationalData.Longitude.HasValue))
                {
                    var position = new PointLatLng(navigationalData.Latitude.Value, navigationalData.Longitude.Value);
                    _mapMarker.Position = position;

                    _mapMarker.ToolTipMode = ToolTipAppearanceHelper.GetMarkerTooltipMode(_config.ToolTip.Appearance);
                    if (_mapMarker.ToolTipMode != MarkerTooltipMode.Never)
                    {
                        _mapMarker.ToolTipText = BuildToolTipText(navigationalData);
                    }
                    _mapMarker.IsVisible = true;
                }
                else
                {
                    _mapMarker.IsVisible = false;
                }
            }
        }
示例#2
0
        private string BuildToolTipText(NavigationalData navigationalData)
        {
            var bd = new StringBuilder();

            if (ToolTipTextHelper.HasValue(_config.ToolTip.TextType, ToolTipTextTypes.Name))
            {
                bd.Append(_marker.DeviceName);
            }

            if (ToolTipTextHelper.HasValue(_config.ToolTip.TextType, ToolTipTextTypes.NameAndLocation))
            {
                bd.AppendLine();
            }

            if (ToolTipTextHelper.HasValue(_config.ToolTip.TextType, ToolTipTextTypes.Location))
            {
                if (navigationalData.Latitude != null)
                {
                    bd.Append("Latitude: ").AppendLine(navigationalData.Latitude.Value.ToString(CultureInfo.InvariantCulture));
                }
                if (navigationalData.Longitude != null)
                {
                    bd.Append("Longitude: ").Append(navigationalData.Longitude.Value.ToString(CultureInfo.InvariantCulture));
                }
            }

            return(bd.ToString());
        }