小编Pur*_*tha的帖子

使用Google Maps 3 API在地图上获取多条路线

我正在研究车辆路径问题.最近我花了一些时间浏览Google Maps API,看看我是否可以在同一张地图上打印多条路线.我想要以下:route1:指向a,b,c,路线2点a,d,e,f,路线3点a,g,h,a和我希望每条路线都有不同的颜色折线.有人可以帮我弄这个吗.

google-maps

15
推荐指数
1
解决办法
4万
查看次数

用图论在车辆路径问题中的应用

我正在使用单个仓库处理车辆路径问题.问题定义如下.有n个vechiles需要前往m个站点.每个站点都有其特定的限制,例如只有具有一定容量的车辆才能为站点提供服务,有些站点需要在一天中的特定时间提供服务.此外,车辆将具有不同的容量并且将具有不同的开始和结束时间.

我们的想法是尽量减少从车厂出发的车辆的行程时间.

我正在构建问题的成本矩阵.虽然不是图论的专家,但我知道如果它陷入经典的旅行商问题,我可以使用哈密顿循环来解决问题.但是,因为它涉及多个旅行推销员问题,我想知道如何使用哈密顿循环解决问题,或者是否有另一个专门针对问题设计的流程?

任何帮助将非常感激.

c# graph-theory genetic-programming evolutionary-algorithm

5
推荐指数
1
解决办法
2481
查看次数

如何使用OpenStreetMap获取两点之间的距离?

我正在研究一种车辆路线选择程序,它需要使用.Net准确地获得车辆不同位置之间的行驶距离.我本来可以使用谷歌API来获取距离,但公司不愿意每年承诺至少11000美元的订阅费用(视使用量而定).

我尝试使用Haversine公式来获得距离,但是路线的修正因子非常高,甚至无法正确计算总行程时间.我花了很多时间研究OpenStreetMaps,但文档没有任何具体的例子来满足我的要求.我不需要实际的"瓷砖"来显示地图,只有文字响应与距离就足够了.

我希望有一些可以免费使用的服务,我可以在OpenStreetMap或类似的其他人中调用,或者也许有人可以指出我正确的方向开始.

任何帮助将非常感激.

c# routing openstreetmap

5
推荐指数
1
解决办法
7738
查看次数

magnific popup需要单击两次才能打开图像滑块

我有一个场景,我的代码显示图像缩略图动态加载到DOM.单击缩略图后,我想使用maginfic弹出窗口加载完整图像.以下是我的看法:

<div class="Right-Panel-Section popup-gallery">
        <h2>Images</h2>
        @foreach (var media in @Model.lsContentMedia)
        {
            <div class=" Float-Left" data-id="@media.MediaId">
                <a href="@media.ContentMediaFileName" >
                    <img src="@media.ContentMediaFileName" style="width:80px;height:80px;margin:5px;" title="@media.Description" class="gallery-item"/>
                </a>

            </div>
        }
    </div>
Run Code Online (Sandbox Code Playgroud)

由于我无法直接访问DOM元素,我使用委托来连接Magnific,如下所示:

$("#Fixed-Container").on("click", ".popup-gallery", function (event) {
            $('.popup-gallery').magnificPopup({
                delegate: 'a',
                type: 'image',
                gallery: {
                    enabled: true,
                    navigateByImgClick: true,
                    preload: [0, 1] // Will preload 0 - before current, and 1 after the current image
                }
            });
            event.preventDefault();
        });
Run Code Online (Sandbox Code Playgroud)

我已正确包含样式和脚本文件.但是,我最初只能在任何图像上点击两次后查看图像.我希望它始终只需单击即可完成.任何有关这方面的帮助将非常感激.

asp.net-mvc jquery magnific-popup

4
推荐指数
1
解决办法
1703
查看次数

使用ExpressionTree生成动态查询时出错

我的代码是这里的示例的一个小修改:

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/expression-trees/how-to-use-expression-trees-to-build-dynamic-queries

我正在编写一个扩展方法,允许unionon在源/目标列表中执行任何属性并具有以下签名

public static IEnumerable<TSource> UnionOn<TSource, TProperty>(
   this IEnumerable<TSource> first, 
   Expression<Func<TSource, TProperty>> expression, 
   IEnumerable<TSource> second)
{

    var finalList = new List<TSource>();
    finalList.AddRange(first);

    var queryableData = finalList.AsQueryable();
    foreach (var item in second.ToList())
    {
        var propertyValue = expression.Compile().Invoke(item);

        // x=>x.ExtendedPropertyId == 'guid_value'
        var sourceObjectParam = Expression.Parameter(typeof(TSource), "x");
        var propertyName = ((MemberExpression)expression.Body).Member.Name;

        var left = Expression.Property(sourceObjectParam, propertyName);
        var right = Expression.Constant(propertyValue);

        var predicateBody = Expression.Equal(left, right);

        MethodCallExpression whereCallExpression = Expression.Call(
            typeof(Enumerable),
            "Where",
            new Type[] { queryableData.ElementType },
            queryableData.Expression,
            Expression.Lambda<Func<TSource, Boolean>>(predicateBody, …
Run Code Online (Sandbox Code Playgroud)

.net c# expression-trees

4
推荐指数
1
解决办法
55
查看次数

如何在mvc3中处理radiobuttonfor的点击或更改事件

我正在创建一个简单的用户注册表单。用户可以注册为公司或个人。以下是使用 RadioButtonFor html 帮助程序的注册表单的相关视图。我已经定义了要在 javascript 中使用的 id 属性:

    @model LayoutTest.ViewModels.ProjectUser
    <script>
    $(function () {
    $("#Class_UserType").change(function(){
        var value = $(this).val();
        if (value == 1) {
            $('#Person').hide();
        }
        else if (value == 2) {
            $('#Company').hide();
        }
      });
    });
    </script>
    @using (Html.BeginForm("Create", "Project", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
   @Html.ValidationSummary(true)
   <fieldset>
   <div class="new_row">
        <div class="editor-label">
            @Html.LabelFor(model => Model.UserType)
        </div>
        <div class="editor-field">
            <div class="editor-field">
                @Html.RadioButtonFor(model => model.UserType, (int)UserType.Company, new { @id= "Class_UserType" }) Company
                @{Html.ValidateFor(model => model.UserType);}
            </div>
            <div class="editor-field">
                @Html.RadioButtonFor(model => …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery

2
推荐指数
1
解决办法
1万
查看次数

多线程c#应用程序达到高CPU使用率

我正在开发一个连接到x个硬件设备的应用程序.我设计了ReaderLayer,以便有一个专用线程,代码运行以连接到单个设备并连续读取设备数据缓冲区.阅读器层的代码如下:

        while (true)
        {

                // read buffer from the reader
                IList<IRampActiveTag> rampTagList = ConnectedReader.ReadBuffer();
                if (rampTagList != null && rampTagList.Any())
                {
                    // trigger read event handler
                    if (ReadMessage != null)
                        ReadMessage(this, new RampTagReadEventArg(rampTagList));
                }


        }
Run Code Online (Sandbox Code Playgroud)

在读取器层之上构建了一个逻辑层,负责处理从读取器接收的数据并通过HTTP Post转发它.它有多个线程,每个线程运行一个单独的逻辑块,必须处理写入其线程安全队列的相关信息.逻辑层订阅ReadForward由Reader Layer公开的事件,并通过写入它将该数据转发到相关的逻辑块ConcurrentQueue.

每个Logic Block中的代码非常简单:

        public void ProcessLogicBuffer()
        {

            while (true)
            {   
                // Dequeue the list
                IRampActiveTag tag;
                LogicBuffer.TryDequeue(out tag);
                if (tag != null)
                {

                    ProcessNewTagReceivedLogic(tag);
                    Console.WriteLine("Process Buffer #Tag {0}. Buffer Count #{1}", tag.NewLoopId, LogicBuffer.Count);
                }

            }
        }
Run Code Online (Sandbox Code Playgroud)

读取器层和逻辑层的循环布局大致相同 …

.net c# multithreading

0
推荐指数
1
解决办法
1723
查看次数