使用JS ArcGis API时,是否可以在lat中创建一个点,并且像这样长
var testPoint = new Point(-98, 38);
Run Code Online (Sandbox Code Playgroud)
或这个
var testPoint = new Point(-98, 38, new SpatialReference({ wkid: 4326 }));
Run Code Online (Sandbox Code Playgroud)
并将其转换为不同的SR,以便其x和y自动更改?例如,wkid 102000/3857?
背景:(也许你可以找到一个解决方法)
我正在使用heatmap.js在ArcGis地图上绘制heatmapLayers.我找到了一些示例,这个API提取数据的方式是使用data以下格式的变量:
var data = [
{
attributes: {},
geometry: {
spatialReference: { wkid: ****},
type: "point",
x: -40,
y: 50
}
},
{another point....}
];
Run Code Online (Sandbox Code Playgroud)
API本身对data变量进行一些解析,然后使用此方法
screenGeometry = esri.geometry.toScreenGeometry(this._map.extent, this._map.width, this._map.height, parsedData.data[xParsed][yParsed].dataPoint);
Run Code Online (Sandbox Code Playgroud)
parsedData.data[xParsed][yParsed].dataPoint在最终绘制热图之前转换解析的point().
主要的问题是无论我传递到什么wkid(之前的代码中的****),它都将它解释为wkid:102000,这就是我之前想要自己进行坐标转换的原因.
我想esri.geometry.toScreenGeometry实际进行转换应该是任务,但正如我所说,它忽略了wkid.
先谢谢,
在 Sub DateDiff 中实现 Sub TabPaint 时出现错误
Public Sub TabPaint(ss As Integer, cc As Integer)
With Sheets(ss).Tab
.Color = cc
.TintAndShade = 0
End With
End Sub
Public Sub DateDiff(date1 As String, date2 As String, shn As Integer)
If DateDiff("d", date1, date2, vbMonday, vbFirstJan1) < 0 Then
TabPaint (shn, 255)
Else
TabPaint(shn,5287936)
End If
End Sub
Run Code Online (Sandbox Code Playgroud)