小编WeS*_*eSt的帖子

传单 - 瓷砖加载事件

我目前正在开发一个基于地图的应用程序,需要一种方法在Leaflet从 中提取图块时收到通知TileProvider(在我的例子中是MapBox)。我阅读了Leaflet 文档,特别是TileLayer的部分。目前,我正在使用以下代码来附加tileload处理程序:

map.eachLayer(function (layer) {
    layer.on('tileload', function(e) {
        console.log(e);
    });
});
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来获取TileLayer当前地图的?这种方法的一个问题是我将处理程序挂钩到所有层(虽然只会TileLayers引发事件,但将其挂钩到所有层是不干净的)。或者我可以以某种方式将处理程序直接附加到地图实例吗?

更新

我使用以下MapBox代码片段初始化地图:

map = L.mapbox.map( element, '...', mapOptions );
Run Code Online (Sandbox Code Playgroud)

这会自动创建一个TileLayer(以及其他几个层),将它们附加到该map对象并返回该对象以供以后使用。

javascript leaflet mapbox

5
推荐指数
2
解决办法
4120
查看次数

Groovy - 使用泛型进行类型检查不起作用

这是这个SO问题的后续内容。我将Groovy脚本导入GroovyShell到我的应用程序并设置TypeChecked转换。但是,当与具有泛型类型的类配对时,静态类型检查不起作用。以下脚本引发编译时错误的方式Groovy对我来说并不明显:

Integer x = (new Test<Integer>(5)).value // works as expected
Integer y = (new Test<Object>(new Object())).value // throws a COMPILE error as expected
Integer z = (new Test(new Object())).value // throws a RUNTIME exception

class Test<T> {
    T value

    public Test(T value){
        this.value = value
    }
}
Run Code Online (Sandbox Code Playgroud)

最后一个赋值 ( Integer z = ...)不会引发编译时错误,而是在运行时失败并带有GroovyCastException. 有谁知道这种行为或者有一些指向文档相关部分的指针?到目前为止,我还没有发现任何东西。此外,我的理解是Test<Object>and Test(没有通用参数)应该被平等对待?

更新

我使用的是2.4.3Groovy版本,并在GroovyConsole AppSpot准备了一个在线脚本来显示静态类型检查的不一致之处。

groovy typechecking

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

在Gradle构建脚本中使用Java类

我有一个Gradle构建脚本,它必须在Task中实例化一个Java类并在创建的对象上调用一个方法.目前,我有以下内容:

apply plugin: 'java'

dependencies {
    compile files("libs/some.library.jar")
}

task A << {

    def obj = new some.library.TestClass()
    obj.doSomething()

}
Run Code Online (Sandbox Code Playgroud)

问题是some.library.TestClass()找不到类.我读了这篇关于如何在Gradle中使用Groovy类的文章,但我需要我的Java类来自外部JAR文件.如何在构建源中添加jar?似乎该dependencies块没有做我期望它做的事情.任何人都能给我一个正确方向的暗示吗?

java groovy gradle

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

Groovy - 动态添加属性或方法到metaClass

我想动态地添加一个字段和方法到metaClass我当前的对象.我试过了

this.metaClass.testProp = "test"
Run Code Online (Sandbox Code Playgroud)

添加一个名为的字段testProp.但是,我明白了

groovy.lang.MissingPropertyException: No such property: testProp for class: groovy.lang.MetaClassImpl
Run Code Online (Sandbox Code Playgroud)

当我在类级别上执行相同操作时,例如将testProp添加到类而不是直接添加到对象

Process.metaClass.testProp = "test"
Run Code Online (Sandbox Code Playgroud)

它工作,但我的对象继承该字段.我们将非常感谢任何正确方向的想法或指示.

groovy

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

Leaflet.js 设置 fitBounds 动画的持续时间

我用来Leaflet向用户显示地图。地图上有几个标记,当用户单击一个标记时,我想平移到标记位置并放大。我可以使用以下代码实现这一点:

    map.fitBounds([
        // bounds of clicked marker
    ]);
Run Code Online (Sandbox Code Playgroud)

这很好用,并且 Leaflet 甚至可以为过渡设置动画。我想要的是以毫秒为单位设置动画的持续时间。FitBounds需要一些选项,但它们都不允许我指定平移和缩放动画的持续时间。谁能帮我这个?

javascript leaflet

3
推荐指数
2
解决办法
5650
查看次数

Winforms线程应用程序挂起(后台工作线程)

我使用VS 2010,C#构建应用程序.

BackgroundWorker在我的申请中使用.

当我点击按钮代码从数据库获取记录并显示到Datagrid.但问题是,当我从代码运行它时工作正常,但当我运行程序.exe所以它正在挂起.

//Declared delegate
delegate void SetControlPropertyThreadSafeDelegate(Control control, string propertyName, object propertyValue);

//Declared method to run control Thread safe
public static void SetControlPropertyThreadSafe(Control control, string propertyName, object propertyValue)
{
    if (control.InvokeRequired)
    {   
        control.Invoke(new SetControlPropertyThreadSafeDelegate(SetControlPropertyThreadSafe), new object[] { control, propertyName, propertyValue });
    }
    else
    {              
        control.GetType().InvokeMember(propertyName, BindingFlags.SetProperty, null, control, new object[] { propertyValue });
    }
}


//calling method like below
SetControlPropertyThreadSafe(dataGridView1, "DataSource", dtGrid2);
Run Code Online (Sandbox Code Playgroud)

我不明白我做错了.为什么该计划挂起?

c# multithreading winforms

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

Groovy - 等待承诺列表

我的程序中有几个承诺,我需要在继续之前模拟等待所有承诺。对于Grails,我找到了以下示例:

def p1 = task { 2 * 2 }
def p2 = task { 4 * 4 }
def p3 = task { 8 * 8 }
assert [4,16,64] == waitAll(p1, p2, p3)
Run Code Online (Sandbox Code Playgroud)

我知道 Grails 严重依赖GPars,但我找不到对waitAll那里任何地方的引用。Grails还支持 PromiseList,我在其中GroovyGPars两者中都找不到。任何人都可以指出我正确的方向吗?

grails groovy promise

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

在pcl中使用TcpClient进行xamarin定位ios和android

我正在编写一个通过tcp套接字与嵌入式Linux服务器通信的应用程序.我正在寻找一种方法来编写常见的客户端代码定位iOSAndroid设备使用Xamarin C#.

我想知道TcpClientclass(System.Net.Sockets)是否可用于pcl目标iOSAndroid.如果没有,我还有其他选择吗?

c# sockets mono xamarin.ios xamarin

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

保存后如何自动递增数字增加1

我有一个按钮,我希望每次保存时它都会增加一(1).它必须显示在标签上.我正在努力将正确的格式添加到标签中,以便每次单击保存时都会显示该格式.

public void versionIncrement()
{
    count = Convert.ToInt32(lblOutput.Text.ToString()) + 1;
    lblOutput.Text = "1000" + count.ToString();
    lblOutput.Visible = true;
}
Run Code Online (Sandbox Code Playgroud)

c# winforms

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

我坚持遵循c编程,没有代码概念

# define swap(a,b) temp=a; a=b; b=temp;    
main( )    
{    
    int i, j, temp;    
    i=5;    
    j=10;    
    temp=0;
    if( i > j)
        swap( i, j );
    printf( "%d %d %d", i, j, temp);
}
Run Code Online (Sandbox Code Playgroud)

执行上面的代码后,我得到意想不到的输出,我没有得到这背后的确切逻辑.所以请帮帮我.

上述代码的输出:

10 0 0
Run Code Online (Sandbox Code Playgroud)

c

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