Dictionary 未定义贴图层
我正试图基于从数据库中获得的JSON对象创建一个点集群层。下面是我绘制点群集层的JavaScript:Dictionary 未定义贴图层,dictionary,arcgis,esri,arcgis-js-api,Dictionary,Arcgis,Esri,Arcgis Js Api,我正试图基于从数据库中获得的JSON对象创建一个点集群层。下面是我绘制点群集层的JavaScript: function addClusters() { $.ajax({ url: "index.aspx/getBusCommuter", type: "POST", data: "", contentType: "application/json; charset=utf-8", dataType: "json", success: functio
function addClusters() {
$.ajax({
url: "index.aspx/getBusCommuter",
type: "POST",
data: "",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var parsed = JSON.parse(data.d);
$.each(parsed, function (i, jsondata) {
var coordXicon = jsondata.BusStopX;
var coordYicon = jsondata.BusStopY;
var commuterAmt = jsondata.CommuterAmt;
var latlng = new esri.geometry.Point({ "x": coordXicon, "y": coordYicon, "spatialReference": { "wkid": 4326 } });
// cluster layer that uses OpenLayers style clustering
clusterLayer = new ClusterLayer({
"data": commuterAmt,
"distance": 100,
"id": "clusters",
"labelColor": "#fff",
"labelOffset": 10,
"resolution": map.extent.getWidth() / map.width,
"singleColor": "#888"
});
var defaultSym = new SimpleMarkerSymbol().setSize(4);
var renderer = new ClassBreaksRenderer(defaultSym, "clusterCount");
var picBaseUrl = "http://static.arcgis.com/images/Symbols/Shapes/";
var blue = new PictureMarkerSymbol(picBaseUrl + "BluePin1LargeB.png", 32, 32).setOffset(0, 15);
var green = new PictureMarkerSymbol(picBaseUrl + "GreenPin1LargeB.png", 64, 64).setOffset(0, 15);
var red = new PictureMarkerSymbol(picBaseUrl + "RedPin1LargeB.png", 72, 72).setOffset(0, 15);
renderer.addBreak(0, 2, blue);
renderer.addBreak(2, 200, green);
renderer.addBreak(200, 1001, red);
clusterLayer.setRenderer(renderer);
map.addLayer(clusterLayer);
});
},
error: function (request, state, errors) {
}
});
}
但是,当我尝试运行它时,它告诉我一条错误消息,即clusterLayer未定义。我想知道我错过了哪一部分,我做的是否正确
此外,我想知道是否可以/正确地将我获得的通勤时间设置为数据,以便地图上的每个点都有正确的数量
我的参考资料来自:
提前感谢。尝试下载示例代码ArcGIS文档 包含extras目录中的ClusterLayer.js
var dojoConfig = {
paths: {
extras: location.pathname.replace(/\/[^/]+$/, "") + "/extras"
}
};
然后在代码中使用
define dojo.provide("extras.ClusterLayer");
打电话
clusterLayer = new extras.ClusterLayer({
"data": commuterAmt,
"distance": 100,
"id": "clusters",
"labelColor": "#fff",
"labelOffset": 10,
"resolution": map.extent.getWidth() / map.width,
"singleColor": "#888"
});