小编jim*_*utt的帖子

leaflet - 寻找将onEachFeature添加到现有geojson层的方法

我正在使用传单中的geojson数据.他们在http://leafletjs.com/examples/geojson.html的指南中写道,有两种方法可以将geojson数据添加到地图中:

"GeoJSON对象通过GeoJSON层添加到地图中.要创建它并将其添加到地图中,我们可以使用以下代码:"

L.geoJson(geojsonFeature).addTo(map);
Run Code Online (Sandbox Code Playgroud)

"或者,我们可以创建一个空的GeoJSON图层并将其分配给变量,以便我们以后可以为它添加更多功能."

var myLayer = L.geoJson().addTo(map);
myLayer.addData(geojsonFeature);
Run Code Online (Sandbox Code Playgroud)

我目前正在使用最后一个方法(我正在创建一个空图层并向其中添加数据).我现在正在做的是我正在尝试添加onEachFeature函数.虽然我在使用myLayer.addData方法时没有让它工作.

在我的代码我正在使用this.geoJson.addData(geoJson, { onEachFeature: onEachFeature });.其中geoJson是实际的geoJson字符串,"this.geoJson"是已创建并添加到地图的空geoJson图层.虽然这不起作用.

但是如果我在输入geoJson数据的同时创建一个新的geoJson图层,那么它的工作原理如下:

L.geoJson(geoJson, {
    onEachFeature: onEachFeature
}).addTo(this.map);
Run Code Online (Sandbox Code Playgroud)

所以我主要想知道在使用layer.addData函数添加数据时如何使onEachFeature函数工作?

javascript json geojson leaflet

10
推荐指数
1
解决办法
5530
查看次数

C#,Emgu网络摄像头 - 选择捕捉尺寸

我正在使用Emgu库来集成C#中的开放式CV网络摄像头功能.

我使用此代码选择捕获设备并设置其大小:

camera = new Capture(0);
camera.SetCaptureProperty(CAP_PROP.CV_CAP_PROP_FRAME_WIDTH, videoSettings.width);
camera.SetCaptureProperty(CAP_PROP.CV_CAP_PROP_FRAME_HEIGHT, videoSettings.height);
Run Code Online (Sandbox Code Playgroud)

然后我在像这样的imageBox中显示它: imageBox1.Image = camera.QueryFrame();

然后要捕获当前帧的快照我使用此代码:

Image<Bgr, byte> snapshot = camera.QueryFrame();
snapshot.Save("snapshot.jpg");
Run Code Online (Sandbox Code Playgroud)

虽然我希望能够以比预览窗口更高的分辨率保存快照.

但问题是,据我所知,我无法使用相同的webcamera创建一个新的"Capture"对象.所以我想知道是否有可能设置camera.setCaptureProperty高度和宽度让我们说1028x720然后以某种方式裁剪它以在imageBox中显示它,分辨率为514x360?

或者还有其他方法吗?

c# video-capture emgucv

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

ASP.NET vNext和EF7中的多个dbContexts

我正在努力与使用MVC 6和EF7的ASP.NET vNext构建Web系统相处.我正在看这个教程:http://stephenwalther.com/archive/2015/01/17/asp-net-5-and-angularjs-part-4-using-entity-framework-7

在页面上,您将看到如何将dbContext添加到项目中,并在启动文件中注册,如下所示:

// Register Entity Framework
services.AddEntityFramework(Configuration)
        .AddSqlServer()
        .AddDbContext<MoviesAppContext>();
Run Code Online (Sandbox Code Playgroud)

上下文类看起来像这样:

public class MoviesAppContext:DbContext
{
    public DbSet<Movie> Movies { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这一切都很好,但现在我需要添加一个额外的DbContext.虽然我不知道如何注册这个额外的上下文,以便它将被EF使用并可能在我的项目中使用.

假设我已经创建了一个像这样的新上下文:

public class MyNewSuper:DbContext
{
    public DbSet<Model1> Model1 { get; set; }
    public DbSet<Model2> Model2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我如何继续注册它以便在我的项目中使用呢?

c# asp.net asp.net-mvc entity-framework entity-framework-core

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

将数据写入本地json文件的简单方法?

我现在正在为一个项目使用 ASP.NET 5 (vNext),但是我在将数据写入本地文件时遇到了一些问题。我只是想将一些 JSON 数据放入公共 wwwroot 文件夹中的现有文件中。JSON 序列化等没问题,我只需要一些有关从 ASP.NET 5 MVC6 控制器写入本地文件的可用方法的建议。

我现在正在使用 beta 7,但我没有使用 streamwriter 或 File。所有示例/建议将不胜感激。

c# asp.net asp.net-mvc json asp.net-core

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

单击按钮时在表单之间传递变量

我有两个表格.一个用于执行所有主要代码的地方.使用此方法单击菜单项时,将显示另一种形式:

Form2 videoSettings = new Form2();       

private void videoToolStripMenuItem_Click(object sender, EventArgs e)
{
    videoSettings.Show();
}
Run Code Online (Sandbox Code Playgroud)

然后打开的表单包含用户可以为应用程序设置一些设置的字段. 在此输入图像描述 然后单击"保存"按钮时我想要这个变量:public int deviceIndex; 从原始表单中获取.

所以我想知道我是否可以在Form1中添加任何事件或什么东西来检测在videoSettings(Form2)中点击保存按钮的时间?

.net c# parameter-passing winforms

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

ASP.NET vNext,区域中的多个HomeControllers

我正在看看ASP.NET 5和MVC 6,我正在使用默认的启动器模板.我现在已经建立了一个区域,我希望有一个"HomeController".因此,默认的HomeController不会放在一个区域中,然后在Areas/MyArea中会有HomeController.

Startup.cs中的以下配置显然不起作用:

            routes.MapRoute(
                name: "areaRoute",
                template: "{area:exists}/{controller}/{action}",
                defaults: new { controller = "Home", action = "Index" });

            routes.MapRoute(
                name: "default",
                template: "{controller}/{action}/{id?}",
                defaults: new { controller = "Home", action = "Index" });
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误信息:

AmbiguousActionException:匹配多个动作.以下操作匹配路由数据并满足所有约束:

MyProject.Controllers.HomeController.Index MyProject.Areas.MyArea.Controllers.HomeController.Index

在早期的MVC版本中,您应该能够通过在路由配置中定义名称空间来解决它,如本博客文章中所述:http://blog.falafel.com/duplicate-controller-names-aspnet-mvc-areas/

虽然这不适合我.如果我添加namespaces: new string[] { "MyProject.Controllers" }到默认路由,我收到以下错误:

错误CS1501方法'MapRoute'没有重载需要4个参数MyProject.ASP.NET 5.0 Startup.cs 81

如果我能就此得到一些建议,我将非常感激,能够在我的系统中使用多个HomeController会很高兴.

asp.net asp.net-mvc asp.net-mvc-routing

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