与ArcGIS Javascript SimpleMarkerSymbol JSON构造函数的大小不一致

与ArcGIS Javascript SimpleMarkerSymbol JSON构造函数的大小不一致,javascript,json,arcgis-js-api,Javascript,Json,Arcgis Js Api,使用Arcgis Javascript API,我使用JSON构造函数创建了一个SimpleMarkerSymbol 文件: 符号的大小和颜色来自GUI元素(调色板的颜色、输入文本框的大小) 我的代码非常简单: var pointColor = ... //no point in writing this part of the code var pointSize = symbologyTable.getElementsByClassName("inputSize")[0].value;

使用Arcgis Javascript API,我使用JSON构造函数创建了一个SimpleMarkerSymbol

文件:

符号的大小和颜色来自GUI元素(调色板的颜色、输入文本框的大小)

我的代码非常简单:

var pointColor = ... //no point in writing this part of the code

var pointSize = symbologyTable.getElementsByClassName("inputSize")[0].value;    
console.log("pointSize = ", pointSize);

var pointSymbol = new esri.symbol.SimpleMarkerSymbol(
    {
        "color" : pointColor,
        "size" : pointSize,
        "style" : "esriSMSCircle"
    }
);
console.log("pointSymbol = ", pointSymbol);
问题:第二个console.log显示的符号大小与从输入文本框获得的符号大小不一致。例如,如果我创建三个点,更改输入文本框中的值,console.log如下所示:

pointSize = 15
pointSymbol = Object{ color=..., size=20, ...}

pointSize = 8
pointSymbol = Object{ color=..., size=10.66666666, ...}

pointSize = 4
pointSymbol = Object{ color=..., size=5.333333333, ...}
出于调试目的,我尝试在创建pointSymbol变量时直接在JSON中写入大小值(尝试了
“size”:15
“size”:“15”
),但大小始终在console.log中修改

工作原理是
setSize(size)
函数:如果我使用
pointSymbol.setSize(“15”)
然后打印pointSymbol,它的大小是15

有没有关于JSON大小定义可能不起作用的线索

非常感谢你的帮助


编辑(1):2016-01-06: SimpleLineSymbol也会出现同样的问题


编辑(2):2016-01-06: 字体和文本符号也会出现同样的问题
这可能会派上用场

通过

因为这是Arcgis JSAPI文档中隐藏得很好的片段

表示SimpleMarkerSymbol的JSON对象。有关创建JSON符号的详细信息,请查看符号对象的RESTAPI参考。请注意,使用JSON指定符号宽度和高度时,应以点为单位输入值,然后JavaScript API将点值转换为像素

您会注意到您的值与上面的图表非常匹配。i、 e.15点约为20像素,8点约为11像素等


如果要以像素为单位指定,请使用

Wow!谢谢你的信息!