i was trying to add a custom picture.png file for features and a label to it
for example:
buildingImage.png+(Building Id)
went to through some examples, but didn't helped me.
Any suggestions
Thanks
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>
  <title>FeatureTable - Custom Menu Items</title>
  <link rel="stylesheet" href="https://js.arcgis.com/3.26/dijit/themes/claro/claro.css">
  <link rel="stylesheet" href="https://js.arcgis.com/3.26/esri/css/esri.css">
  <script src="https://js.arcgis.com/3.26/"></script>
  <style>
    html, body, #map {
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
    }
  </style>
  <script>
    require([
      "esri/layers/FeatureLayer",
      "esri/geometry/Extent",
      "esri/graphicsUtils",
      "esri/tasks/query",
      "esri/map",
      "dojo/dom",
      "dojo/parser",
      "dojo/ready",
      "dojo/on",
      "dijit/layout/ContentPane",
      "dijit/layout/BorderContainer"
    ], function (
      FeatureLayer, Extent, graphicsUtils, Query, Map,
      dom, parser, ready, on, ContentPane, BorderContainer
    ) {
      parser.parse();
      ready(function(){
        var map = new Map("map",{
          basemap: "dark-gray", 
          extent: new Extent({xmax: -13035353.854156237, xmin: -13053431.211345658,
            ymax: 4038351.1313028745, ymin: 4034089.766975982,
            "spatialReference":{"wkid":102100,"latestWkid":3857}
          })
        });
        //Load a FeatureTable to the application once map loads
        map.on("load", loadTable);
        function loadTable(){
    
          // editable FeatureLayer
          var myFeatureLayer = new FeatureLayer("https://sampleserver6.arcgisonline.com/arcgis/rest/services/RedlandsEmergencyVehicles/FeatureServer/...", {
            mode: FeatureLayer.MODE_ONDEMAND,
            outFields: ["*"],
            visible: true,
            id: "fLayer2"
          });
       
         
         
      
          map.addLayer(myFeatureLayer);
      
        
        }
      });
    });
  </script>
</head>
<body class="claro esri">
  <div data-dojo-type="dijit/layout/BorderContainer" data-dojo-props="design:'headline'" style="width:100%; height:100%;">
    <div data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'center', splitter:true" style="height:50%">
      <div id="map"></div>
    </div>
    <div id="bot" data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'bottom', splitter:true">
    
    </div>
  </div>
</body>
</html>
Solved! Go to Solution.
Malla,
You would need to define a UniqueValueRenderer for the FeatureLayer. ANd add unique values for each of the urls that will be used in your app.
var defaultSymbol = new PictureMarkerSymbol(...);
//create renderer
var renderer = new UniqueValueRenderer(defaultSymbol, "SOME FIELD");
//add symbol for each possible value
renderer.addValue("BUILDING1", new PictureMarkerSymbol('http://www.esri.com/graphics/aexicon.jpg', 51, 51));or forget using a FeatureLayer at all and just do a QueryTask to get the features you want to add to the map and add each feature to a GraphicsLayer in the map, that way you can define the Graphics symbol based on a fields value (if you have the url to the image stored in a field).
Malla,
I am not clear at all on what you are wanting to do...
Robert,
i want to change the image of points from layer
Robert,
i want to change the image of points from layer
Thanks
Malla,
I see that this question has been marked "Assumed Answered" so you have figured this out yourself?
i added label/text to point by following below code, but i didn't figured to add an image.png instead of point
for example instead of point i want to add
didn't find examples regarding to image change in javascript
 var layerdata = new FeatureLayer(State_Service, {
        mode: FeatureLayer.MODE_SNAPSHOT,
        infoTemplate: popupTemplate,
        outFields: ["*"],
    });
    
    var statesColor = new Color("crimson");
    var statesLabel = new TextSymbol().setColor(statesColor);
    statesLabel.setAlign(TextSymbol.ALIGN_MIDDLE);
    statesLabel.font.setSize("9pt");
    statesLabel.font.setFamily("arial");
    statesLabel.font.setWeight(esri.symbol.Font.WEIGHT_BOLD);
    var json = {
        "labelExpressionInfo": { "value": "{Name}" }
    };
    var labelClass = new LabelClass(json);
    labelClass.symbol = statesLabel;
    layerdata.setLabelingInfo([labelClass]);Malla,
You would need to define a UniqueValueRenderer for the FeatureLayer. ANd add unique values for each of the urls that will be used in your app.
var defaultSymbol = new PictureMarkerSymbol(...);
//create renderer
var renderer = new UniqueValueRenderer(defaultSymbol, "SOME FIELD");
//add symbol for each possible value
renderer.addValue("BUILDING1", new PictureMarkerSymbol('http://www.esri.com/graphics/aexicon.jpg', 51, 51));or forget using a FeatureLayer at all and just do a QueryTask to get the features you want to add to the map and add each feature to a GraphicsLayer in the map, that way you can define the Graphics symbol based on a fields value (if you have the url to the image stored in a field).
