如何在标识符弹出框中添加和显示图像

时间:2016-02-05 05:30:10

标签: arcgis arcgis-js-api

我有一个标识符,如果我点击特定点它将显示该点的所有信息。现在问题是需要为每个点添加图像,如果我点击该点它将显示信息以及图像。目前我正在使用

 map.on("load", mapReady);

        var parcelsURL = "My Server";
        //map.addLayer(new ArcGISDynamicMapServiceLayer(parcelsURL,
        //  { opacity: 20 }));

        function mapReady() {
            map.on("click", executeIdentifyTask);
            //create identify tasks and setup parameters 
            identifyTask = new IdentifyTask(parcelsURL);

            identifyParams = new IdentifyParameters();
            identifyParams.tolerance = 3;
            identifyParams.returnGeometry = true;
            identifyParams.layerIds = [0];
            identifyParams.layerOption = IdentifyParameters.LAYER_OPTION_ALL;
            identifyParams.width = map.width;
            identifyParams.height = map.height;
        }

        function executeIdentifyTask(event) {
            identifyParams.geometry = event.mapPoint;
            identifyParams.mapExtent = map.extent;

            var deferred = identifyTask
              .execute(identifyParams)
              .addCallback(function (response) {
                  // response is an array of identify result objects
                  // Let's return an array of features.
                  return arrayUtils.map(response, function (result) {
                      var feature = result.feature;
                      var layerName = result.layerName;

                      feature.attributes.layerName = layerName;
                      if (layerName === 'GridPoint') {
                          var taxParcelTemplate = new InfoTemplate("",
                            "XX: ${XX} <br/> YY: ${YY} <br/> Sample Point Number: ${Sample Point Number} <br/> Point Collected: ${Point Collected} <br/>  Major Rabi Crops: ${ Major Rabi Crops} <br/> Major Summer Crop: ${Major Summer Crop} <br/> Soil Type: ${Soil Type} <br/> Major Kharif Crops: ${Major Kharif Crops}");
                          feature.setInfoTemplate(taxParcelTemplate);
                      }
                      //else if (layerName === 'Grid') {
                      //    console.log(feature.attributes.objectid);
                      //    var buildingFootprintTemplate = new InfoTemplate("",
                      //      "OBJECTID: ${OBJECTID}");
                      //    feature.setInfoTemplate(buildingFootprintTemplate);
                      //}

                      return feature;
                  });
              });

            map.infoWindow.setFeatures([deferred]);
            map.infoWindow.show(event.mapPoint);
        }

有人可以帮我解决这个问题。我正在使用http://developers.arcgis.com/javascript/sandbox/sandbox.html?sample=find_drilldown

1 个答案:

答案 0 :(得分:0)

添加图片非常简单。只需将其添加到infoTemplate即可。 Here is an example添加到上面引用的指南中的图像。唯一添加的是第101行:

template += "<img src='http://webapps-cdn.esri.com/Apps/MegaMenu/img/logo.jpg' /><br>";

src显然会出现在图像中。

如果您需要特别帮助您的代码,请创建一个小提琴,以便更容易使用。