angular-esri-components icon indicating copy to clipboard operation
angular-esri-components copied to clipboard

Popup is not working with angular-esri-component

Open abhishekhingu opened this issue 5 years ago • 0 comments

Trying to bind content of popup for click geometry dynamically. but popup don't render on screen

import { Component, OnInit } from '@angular/core'; import { Router, ActivatedRoute } from '@angular/router'; import { EsriModuleProvider } from 'src/app/citymap/core/city-module-provider';

@Component({ selector: 'app-livability', templateUrl: './livability.component.html', styleUrls: ['./livability.component.scss'] }) export class LivabilityComponent implements OnInit {

title = 'app';

mapProperties: __esri.MapProperties = { basemap: 'gray-vector' }; mapViewProperties: __esri.MapViewProperties = { center: [54, 24], zoom: 9, }; map: __esri.Map; mapView: __esri.MapView; districtFeatureLayer: __esri.FeatureLayer; distCollection: any[] = []; output: any[] = []; distFields: any = {}; activecategory:string; //School objects schoolFeatureLayer: __esri.FeatureLayer; bufferSchoolLayer: __esri.FeatureLayer; selectedSchoolsId: any[] = []; selectedSchool: any[] = [];

constructor(private route: ActivatedRoute, private router: Router, private moduleProvider: EsriModuleProvider) { }

ngOnInit() { console.log("onInit Called"); } service(): void { console.log("service called"); this.router.navigateByUrl("livability/service") } onMapInit(mapInfo: { map: __esri.Map, mapView: __esri.MapView }) { this.map = mapInfo.map; this.mapView = mapInfo.mapView;

// add a layer with sublayers to map
this.moduleProvider
  .require(['esri/layers/FeatureLayer', "esri/tasks/support/Query",
    "esri/tasks/QueryTask", "esri/renderers/ClassBreaksRenderer", "esri/Color", "esri/symbols/SimpleFillSymbol","esri/widgets/Popup"])
  .then(
    ([FeatureLayer, Query, QueryTask, ClassBreaksRenderer, Color, SimpleFillSymbol,Popup]) => {
      const distrenderer: any = {
        type: "class-breaks",
        // attribute of interest - Earthquake magnitude
        field: "total_score",
        defaultSymbol: {
          type: "simple-fill",  // autocasts as new SimpleFillSymbol()
          color: "#D3D3D3",
          style: "solid",
          outline: {
            width: 0.5,
            color: [50, 50, 50, 0.6]
          }
        },
        classBreakInfos: [
          {
            minValue: -1,  // 0 acres
            maxValue: 2,  // 200,000 acres
            symbol: {
              type: "simple-fill",  // autocasts as new SimpleFillSymbol()
              color: "#ce4656",
              style: "solid",
              outline: {
                width: 0.2,
                color: [255, 255, 255, 0.5]
              }
            }  // will be assigned sym1
          }, {
            minValue: 2,  // 200,001 acres
            maxValue: 4,  // 500,000 acres
            symbol: {
              type: "simple-fill",  // autocasts as new SimpleFillSymbol()
              color: "#df8e97",
              style: "solid",
              outline: {
                width: 0.2,
                color: [255, 255, 255, 0.5]
              }
            }  // will be assigned sym2
          }, {
            minValue: 4,  // 500,001 acres
            maxValue: 6,  // 750,000 acres
            symbol: {
              type: "simple-fill",  // autocasts as new SimpleFillSymbol()
              color: "#f6d026",
              style: "solid",
              outline: {
                width: 0.2,
                color: [255, 255, 255, 0.5]
              }
            }  // will be assigned sym2
          }, {
            minValue: 6,
            maxValue: 8,
            symbol: {
              type: "simple-fill",  // autocasts as new SimpleFillSymbol()
              color: "#7db39b",
              style: "solid",
              outline: {
                width: 0.2,
                color: [255, 255, 255, 0.5]
              }
            }
          }, {
            minValue: 8,
            maxValue: Infinity,
            symbol: {
              type: "simple-fill",  // autocasts as new SimpleFillSymbol()
              color: "#2a835b",
              style: "solid",
              outline: {
                width: 0.2,
                color: [255, 255, 255, 0.5]
              }
            }
          }
        ]
      };

      
      this.districtFeatureLayer = new FeatureLayer("https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/CongressionalDistricts/FeatureServer/0", {
        outFields: ['*'],
        //renderer: distrenderer
        // showLabels: true
        //popupTemplate:{content:"Abhishek",title:"Abhishek"}
      });
      

      this.map.layers.addMany([this.districtFeatureLayer]);
      let AdquateSchoolQuery: __esri.Query = new Query();

      this.mapView.on("click",(event:any)=>{
        this.mapView.hitTest(event.screenPoint).then((response:any)=> {
          if (response.results.length > 0) {
            response.results.forEach((item:any)=>{
              if(item.graphic.geometry != null){
                //this.mapView.popup.set("visible", true);
                this.mapView.popup.content = '<div>ZZJjjdja dad</div>';
              }
            })
          }
        });
      })

    });

} onLayerAdded(event: any) { console.log("layers added", event); if (event.added.length > 0) { event.added.forEach(function (layer) { var info = "
layer added: " + layer.title; console.log(info); }); } }

}

abhishekhingu avatar Mar 31 '19 16:03 abhishekhingu