У меня возникла проблема при попытке получить данные и показать их на infoWindow с помощью ArcGIS. Вот мой javascript:Esri InfoWindow не отображает результаты, полученные
var map;
require(["esri/map","esri/dijit/Scalebar","esri/layers/FeatureLayer", "esri/dijit/Legend",
"dojo/_base/array", "dojo/parser",
"dijit/layout/BorderContainer", "dijit/layout/ContentPane",
"dijit/layout/AccordionContainer","esri/InfoTemplate","dojo/dom-construct","dojo/domReady!"],
function(Map,Scalebar, FeatureLayer, Legend, arrayUtils, parser, InfoTemplate,domConstruct){
parser.parse();
map=new Map("map", {
center:[-56.049, 38.485],
zoom:3,
basemap: "topo"});
// Show legend
map.on("layers-add-result", function(evt){
var layerInfo = arrayUtils.map(evt.layers, function(layer, index){
return {layer:layer.layer, title:layer.layer.name};
});
if(layerInfo.length >0){
var legendDijit = new Legend({
map:map,
layerInfos: layerInfo}, "legendDiv");
legendDijit.startup();
}
});
var legendFeature = new
FeatureLayer("http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3", {
mode: FeatureLayer.MODE_ONDEMAND,
outFields:["*"]
});
// Show infoWindow
var content = "<b>State</b>: ${STATE_NAME}";
var infoTemplate = new InfoTemplate("${STATE_NAME}", content);
featureLayer = new FeatureLayer("http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3",
{
mode: FeatureLayer.MODE_ONDEMAND,
infoTemplate: infoTemplate,
outFields: ["*"]
});
map.addLayers([featureLayer]);
// Show scalebar
var scalebar = new Scalebar({
map:map,
scalebarUnit: "dual",
attachTo:"bottom-left"});
});
Нет проблем с легендами и шкалами. Однако, когда я нажимаю на определенный регион, он выталкивается с помощью infoWindow, но без каких-либо результатов. Интересно, почему это не работает.
Заранее спасибо.
я вижу, я вижу. Большое спасибо! Сейчас он работает –