我是 ESRI ArcGIS API for Javascript 的新手,我正在尝试以编程方式生成要素图层,然后向其添加标注图层。要素层似乎可以工作,但标签层没有提供任何输出(也没有错误)。谁能告诉我我做错了什么?
jsfiddle:http://jsfiddle.net/9X46z/
相关的javascript:
var layerDefinition = {
"geometryType": "esriGeometryPoint",
"fields": [
{
"name": "__OBJECTID",
"alias": "__OBJECTID",
"type": "esriFieldTypeOID",
}, {
"name": "testfield",
"alias": "testfield",
"type": "esriFieldTypeString"
}
]
}
var featureCollection = {
layerDefinition: layerDefinition,
featureSet: null
};
var fl = new FeatureLayer(featureCollection, {
id: "featurelayer",
outFields: ["testfield"]
})
var m = new esri.Graphic(new esri.geometry.Point(-77, 40), pushpin);
m.attributes = {
"testfield": "test value"
};
fl.add(m);
map.addLayer(fl);
// create a text symbol to define the style of labels
var testLabel = new TextSymbol().setColor(new Color("#666666"));
testLabel.font.setSize("14pt");
testLabel.font.setFamily("arial");
testLabelRenderer = new SimpleRenderer(testLabel);
var labels = new LabelLayer({
id: "labels"
});
labels.addFeatureLayer(fl, testLabelRenderer, "{testfield}");
// add the label layer to the map
map.addLayer(labels);
最佳答案
这是一个更新后的版本,有一处改动:http://jsfiddle.net/2WccC/1/
var m = new esri.Graphic(new esri.geometry.Point(-77, 40), pushpin);
到
var m = new esri.Graphic(esri.geometry.geographicToWebMercator(new esri.geometry.Point(-77, 40)), pushpin);
关于javascript - 如何标记以编程方式生成的要素图层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24803944/