小编Tho*_*mas的帖子

在Google Maps API v3中修改多边形后的事件

我制作了一个使用绘图管理器的地图应用程序(并实现了可选择的形状).该程序的工作原理如下:在单击按钮后完成绘制多边形的路径时,将映射到多边形上.

在此过程之后编辑多边形时,我希望再次调用映射函数.但是我不能让这部分工作:

我尝试使用以下代码,但我总是收到错误,因为添加此侦听器时尚未选择任何形状.我能做什么?

google.maps.event.addListener(selectedShape, 'set_at', function() {
    console.log("test");
});

google.maps.event.addListener(selectedShape, 'insert_at', function() {
    console.log("test");
});
Run Code Online (Sandbox Code Playgroud)

重要的代码:

function showDrawingManager(){
    var managerOptions = {
        drawingControl: true,
        drawingControlOptions: {
            position: google.maps.ControlPosition.TOP_CENTER,
            drawingModes: [google.maps.drawing.OverlayType.MARKER, google.maps.drawing.OverlayType.POLYLINE, google.maps.drawing.OverlayType.POLYGON]
        },
        markerOptions: {
            editable: true,
            icon: '/largeTDGreenIcons/blank.png'
        },
        polygonOptions: {
            fillColor: "#1E90FF",
            strokeColor: "#1E90FF",
        },
        polylineOptions: {
            strokeColor: "#FF273A"
        }
    }

    var drawingManager = new google.maps.drawing.DrawingManager(managerOptions);
    drawingManager.setMap(map);
    return drawingManager;
}

function clearSelection() {
    if (selectedShape) {
        console.log("clearSelection");

        selectedShape.setEditable(false);
        selectedShape = null;
        numberOfShapes--;
    }
}

function setSelection(shape) {

   console.log("setSelection"); …
Run Code Online (Sandbox Code Playgroud)

javascript events google-maps

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

没有对角线运动的星型算法

情况: 我正在尝试将A*算法转换为c ++代码,其中不允许对角线移动,但我有一些奇怪的行为.

我的问题:即使没有对角线移动,也需要考虑对角线成本.当我在没有对角线成本的情况下进行计算时(使用'启发式'因子10),我总是有相同的fscore为80(你可以在我计算fscore,gscore和hscore的第二张图片中看到这一点)这看起来很奇怪我.因此(几乎所有节点都具有80的fscore),algorimth似乎不起作用,因为许多节点具有相同的最小fscore为80.

或者这是正常行为,并且没有对角线的A*星实现必须执行更多工作(因为更多节点具有相同的最小fscore)?

对角线

在此输入图像描述

我不认为这个问题与我的代码有什么关系,而不是我的推理,但我仍然发布它:

pathFind.cpp

#include "pathFind.h"
#include <queue>
#include "node.h"
#include <QString>
#include <QDebug>
#include <iostream>

/** Pathfinding (A* algo) using Manhatten heuristics and assuming a monotonic, consistent
*   heuristic (the enemies do not change position)
*
*   TODO: add variable terrain cost
**/

//dimensions
const int horizontalSize = 20;
const int verticalSize = 20;

//nodes sets
static int closedNodes[horizontalSize][verticalSize]; //the set of nodes already evaluated
static int openNodes[horizontalSize][verticalSize]; // the set of nodes to …
Run Code Online (Sandbox Code Playgroud)

c++ a-star path-finding

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

如何将数字的QString转换为int数组?

我有一个QString包含一系列数字的例子

QString path = "11100332001 234 554 9394";
Run Code Online (Sandbox Code Playgroud)

我想迭代可变长度字符串

for (int i=0; i<path.length(); i++){

}
Run Code Online (Sandbox Code Playgroud)

并能够int单独访问每个号码.

但是,我无法这样做.问题:如何将QString数字转换为数组int

我知道我可以将其转换QStringint使用,path.toInt()但这对我没有帮助.

当我尝试将它转换为char时,我得到一个错误:cannot convert 'const QChar to char'.

for (int i=0; i<path.length(); i++){
        char c = path.at(i);
        int j = atoi(&c);
        //player->movePlayer(direction);
    }
Run Code Online (Sandbox Code Playgroud)

c++ qstring qt type-conversion

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

java 按位运算符和等于字符;复合运算符

我有点困惑:

long v = 0;
v <<= 8; 
v |= 230;
Run Code Online (Sandbox Code Playgroud)

我知道 << 是带符号的左移运算符,而 | 按位包含 OR 但我对 equals 的作用感到困惑?

所以拳头 v 是 0。那么 << 没有任何效果?那么它等于 1000 但接下来会发生什么呢?

编辑:我已经编辑了标题,以便其他人更好地找到这个问题:添加了“复合运算符”

java bit-manipulation operators compound-operator

4
推荐指数
2
解决办法
1422
查看次数

C#中的加密密钥保护

是否有解决以下问题的行业标准:

故事; 我有一个程序(=>游戏),它将状态(=> level,..)保存在xml文件中; 这个状态不应该是用户可编辑的; 我想阻止人们编写可修补我的xml和程序状态的补丁软件.

您想要保护您的xml文件.您可以通过加密来完成此操作.不过你怎么用钥匙?

因为有人可以随时进行逆向工程(打开你的dll)阅读密钥......?

public static string Encrypt (string toEncrypt)
{
 byte[] keyArray = UTF8Encoding.UTF8.GetBytes ("12345678901234567890123456789012");
 // 256-AES key
 byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes (toEncrypt);
 RijndaelManaged rDel = new RijndaelManaged ();
 rDel.Key = keyArray;
 rDel.Mode = CipherMode.ECB;
 // http://msdn.microsoft.com/en-us/library/system.security.cryptography.ciphermode.aspx
 rDel.Padding = PaddingMode.PKCS7;
 // better lang support
 ICryptoTransform cTransform = rDel.CreateEncryptor ();
 byte[] resultArray = cTransform.TransformFinalBlock (toEncryptArray, 0, toEncryptArray.Length);
 return Convert.ToBase64String (resultArray, 0, resultArray.Length);
}

public static string Decrypt (string toDecrypt)
{
 byte[] keyArray = UTF8Encoding.UTF8.GetBytes ("12345678901234567890123456789012");
 // …
Run Code Online (Sandbox Code Playgroud)

c# encryption

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

DES crypt中的盐

系统如何知道例如在svn环境中,如果输入的密码正确,则使用DES crypt散列将帐户存储在.passwd中.

纠正我如果我错了,但如果我转换某个密码,例如"测试"使用DES哈希,因为盐有很多可能性.系统(我想象它只是比较生成的哈希值)如何知道输入的密码是否正确?

hash des

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

指针问题和困惑

这可能很简单,但让我感到困惑.

int x;
int *p = NULL;
int *q = &x;
Run Code Online (Sandbox Code Playgroud)

什么时候会发生

 q = p;   // Address where q points to equals NULL  .
 &x = q;  // I don't think this is possible  .
 *q = 7;  // Value of memory where q is pointing to is 7?  
 *q = &x  // That's just placing the address of x into memory where q points to right?  
 x = NULL;
Run Code Online (Sandbox Code Playgroud)

c null pointers

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