BMap.NET.WindowsForm/BTransitStepItem.cs

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Newtonsoft.Json.Linq;
using System;
using System.Drawing;
using System.Windows.Forms;

namespace BMap.NET.WindowsForm
{
    /// <summary>
    /// 公交路线步骤控件
    /// </summary>
    partial class BTransitStepItem : UserControl
    {
        /// <summary>
        /// 鼠标进入或点击时激发该事件
        /// </summary>
        public event StepSelectedEventHandler StepSelected;

        private JArray _dataSource;

        /// <summary>
        /// 步骤数据源
        /// </summary>
        public JArray DataSource
        {
            get
            {
                return _dataSource;
            }
            set
            {
                _dataSource = value;
                if (_dataSource != null)  //解析  具体json结构参见api文档
                {
                    if ((string)_dataSource[0]["type"] == "5")  //步行
                    {
                        JToken step = _dataSource[0];
                        _step_type = 0;
                        _step_walk_string = (string)step["stepInstruction"];
                        _step_walk_distance = int.Parse((string)step["distance"]);
                        Paths = (string)step["path"];
                        Height = 35;
                    }
                    else
                    {
                        _step_type = 1;
                        Paths = (string)_dataSource[0]["path"];
                        _step_transit_start = (string)_dataSource[0]["vehicle"]["start_name"];
                        _step_transit_end = (string)_dataSource[0]["vehicle"]["end_name"];
                        _step_transit_stops = int.Parse((string)_dataSource[0]["vehicle"]["stop_num"]);

                        foreach (JObject step in _dataSource) //多种方案
                        {
                            _step_transits += (string)step["vehicle"]["name"] + ",";
                        }
                        _step_transits = _step_transits.TrimEnd(new char[] { ',' });
                        Height = 70;
                    }
                }
            }
        }
后面还有 132 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。