小编Cat*_*fey的帖子

单张弹出窗口,动态内容不以标记为中心

我正在尝试创建一个带有动态内容的传单弹出窗口,它可以正常工作,但弹出的气泡不与标记对齐.

这是一个截图,清楚地表明弹出气泡不在标记上方. 在此输入图像描述

这是代码

var map = L.map('map').setView([51.505, -0.09], 13);

L.tileLayer('https://{s}.tiles.mapbox.com/v3/{id}/{z}/{x}/{y}.png', {
        maxZoom: 18,
        id: 'examples.map-i875mjb7'
}).addTo(map);


m = L.marker([51.5, -0.09]).addTo(map);
m.bindPopup("<b>Hello world!</b><br />I am a popup<span id='a'></span>", {maxWidth: "none"})
m.openPopup();

$('#a').html('abcdefghijklmnopqrstuvwxyz')
Run Code Online (Sandbox Code Playgroud)

这里还有一个描述问题的最小jsfiddle示例:http://jsfiddle.net/nk93shkt/

我该如何解决?

javascript css leaflet

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

Mockito:模拟包私人课程

我有以下简单的DynamoDBDao,它包含一个查询索引并返回结果映射的方法.

import com.amazonaws.services.dynamodbv2.document.*;

public class DynamoDBDao implements Dao{
    private Table table;
    private Index regionIndex;

    public DynamoDBDao(Table table) {
        this.table = table;
    }

    @PostConstruct
    void initialize(){
        this.regionIndex = table.getIndex(GSI_REGION_INDEX);
    }

    @Override
    public Map<String, Long> read(String region) {
        ItemCollection<QueryOutcome> items = regionIndex.query(ATTR_REGION, region);
        Map<String, Long> results = new HashMap<>();
        for (Item item : items) {
            String key = item.getString(PRIMARY_KEY);
            long value = item.getLong(ATTR_VALUE);
            results.put(key, value);
        }
        return results;
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个单元测试,它验证当DynamoDB索引返回ItemCollection时,Dao返回相应的结果映射.

public class DynamoDBDaoTest {

    private String key1 = "key1";
    private String …
Run Code Online (Sandbox Code Playgroud)

unit-testing mockito amazon-dynamodb

6
推荐指数
2
解决办法
4744
查看次数

Android服务快速连续多次被杀后无法重启

我已经构建了一个简单的Android应用程序来解决烦人的问题.每当您加入我所在大学的无线网络时,您都会被重定向到登录页面,您必须提供您的学号和密码.

我已经构建了一个Android应用程序,可以让您输入您的详细信息,然后服务会使用intent过滤器注册接收器WifiManager.NETWORK_STATE_CHANGED_ACTION.每当设备连接到大学网络时,都会使用登录详细信息进行HTTP post webrequest.从而解决了被重定向的问题.

一切都很完美......然而在我的扩展测试中,我发现了一个非常奇怪的问题.当我按下"Go Power Master"应用程序闪电按钮一次然后打开设置>应用程序>运行我看到我的服务正在重启(以及许多其他服务,例如Facebook).大约30秒后,服务重新启动,一切都很好.

但是,如果我快速连续多次按下闪电按钮(3次或更多次),然后转到设置>应用程序>正在运行我不再看到我的服务.就像它从未尝试过重启一样.Facebook服务和其他服务通过正常重启阶段并最终成功.

有谁知道发生了什么?当我多次按下闪电按钮时,为什么我的服务会永远消失?

在您回答之前知道我已经更改了我的应用程序startForeground(),这在我的所有扩展测试中都能完美运行.但这不是一个有效的解决方案,因为我不希望我的应用程序在状态栏中有持续的通知.

PS如果您想重新创建这个奇怪的问题,我的项目就在github上了https://github.com/ccoffey/NUIMWiFi

PPS"Go Power Master"应用程序是Google Play上的免费应用程序,闪电按钮应该用于回收丢失的RAM?我猜它会迫使所有后台服务都死掉.无论如何,这肯定是它的表现.

编辑包含LogCat日志

好的,我已经部分回答了我自己的问题.以下是我的服务的LogCat输出过滤到仅包括ie.cathalcoffey.android.我强调了重要的线条.事实证明,每次杀死服务时,其重启时间都会增加.最初它是135096ms,第二次我杀了服务它变成540384ms,最后一次我杀了服务它变成了2161536ms.

所以现在我知道为什么我的服务在快速连续多次被杀后似乎没有重启.我仍然不知道为什么Facebook服务每次被杀都会很快重启(没有增加重启时间).关于如何解决这个问题的任何想法?

05-08 09:52:20.997: I/ActivityManager(192): START   
{act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] 
flg=0x10000000 cmp=ie.cathalcoffey.android/.MyActivity} from pid 3364 05-08 
09:52:21.403: I/ActivityManager(192): Displayed 
ie.cathalcoffey.android/.MyActivity: +290ms (total +41s557ms) 05-08
 09:53:01.888: I/ActivityManager(192): Killing proc 
3330:ie.cathalcoffey.android/10033: kill background 05-08 09:53:01.888: 
W/ActivityManager(192): Scheduling restart of crashed service 
ie.cathalcoffey.android/.MyService in 135096ms 05-08 09:55:17.013: 
I/ActivityManager(192): Start proc ie.cathalcoffey.android for service 
ie.cathalcoffey.android/.MyService: pid=3633 uid=10033 gids={3003} 05-08 
09:56:21.325: I/ActivityManager(192): Killing proc 
3633:ie.cathalcoffey.android/10033: kill …
Run Code Online (Sandbox Code Playgroud)

service android

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

MongoDB 文本搜索逻辑 AND

MongoDB 似乎只做逻辑 OR 文本查询?

如果我想查找包含单词(“apple”或“orange”或“pear”)的所有文档,我可以执行以下操作。

db.collection.runCommand('text', {search: 'apple orange pear', limit: -1})
Run Code Online (Sandbox Code Playgroud)

但是我如何找到包含所有 3 个单词('apple' 和 'orange' 和 'pear')的所有文档,没有特定的顺序。

这可能吗?

full-text-search text-search mongodb

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

DynamoDB批处理执行QueryRequests

我有以下DynamoDB查询,它返回带有哈希苹果的第一条记录和低于some_timestamp的时间戳.

Map<String, Condition> keyConditions = newHashMap();

keyConditions.put("HASH", new Condition().
    withComparisonOperator(EQ).
    withAttributeValueList(new AttributeValue().withS("apple")))
);

keyConditions.put("TIMESTAMP", new Condition().
    withComparisonOperator(LE).
    withAttributeValueList(new AttributeValue().withN(some_timestamp)))
);

QueryResult queryResult = dynamoDBClient.query(
    new QueryRequest().
            withTableName("TABLE").
            withKeyConditions(keyConditions).
            withLimit(1).
            withScanIndexForward(SCAN_INDEX_FORWARD)
);
Run Code Online (Sandbox Code Playgroud)

我需要执行这种类型的许多查询,所以我的问题是:是否可以批量执行这些查询?类似于以下API.

Map<String, Condition> keyConditions = newHashMap();

keyConditions.put("HASH", new Condition().
    withComparisonOperator(EQ).
    withAttributeValueList(new AttributeValue().withS("apple")))
);

keyConditions.put("TIMESTAMP", new Condition().
    withComparisonOperator(LE).
    withAttributeValueList(new AttributeValue().withN(some_timestamp)))
);

QueryRequest one = new QueryRequest().
    withTableName("TABLE").
    withKeyConditions(keyConditions).
    withLimit(1).
    withScanIndexForward(SCAN_INDEX_FORWARD);

keyConditions = newHashMap();

keyConditions.put("HASH", new Condition().
    withComparisonOperator(EQ).
    withAttributeValueList(new AttributeValue().withS("pear")))
);

keyConditions.put("TIMESTAMP", new Condition().
    withComparisonOperator(LE).
    withAttributeValueList(new AttributeValue().withN(some_other_timestamp))) …
Run Code Online (Sandbox Code Playgroud)

amazon-dynamodb

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

jsTree自定义上下文菜单不基于类型文件夹/文件进行过滤

我正在尝试为jsTree配置自定义上下文菜单.我希望文件有两个选项[重命名,删除],我希望文件夹有一个选项[创建]

下面的代码似乎正确如下所述:为不同的节点类型配置jstree右键单击contextmenu

然而,这似乎不起作用,有两个问题.

  1. 两个上下文菜单都显示选项[重命名,删除]
  2. 选择任一选项都会导致错误:Uncaught TypeError:undefined不是函数

在此输入图像描述

我究竟做错了什么?编辑:这是一个小提琴

$( document ).ready(function() {
    function customMenu(node) {
        // The default set of all items
        var items = {
            createItem: { // The "create" menu item
                label: "Create",
                action: function () {
                    this.create(node);
                }
            },
            renameItem: { // The "rename" menu item
                label: "Rename",
                action: function () {
                    this.rename(node);
                }
            },
            deleteItem: { // The "delete" menu item
                label: "Delete",
                action: function () {
                    this.remove(node);
                }
            }
        };

        if ($(node).hasClass("folder") || $(node).hasClass("jstree-closed") …
Run Code Online (Sandbox Code Playgroud)

javascript jstree

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