Geometry mismatch with ID results

1476
16
Jump to solution
12-11-2018 01:04 PM
WilliamBailey
New Contributor II

I am working with wab 2.9 javascript and encountered a strange issue someone may have already dealt with.

Using the simple "ID" functionality, I get the infowindow pop-up from map hosted in AGOL, but the graphic (teal outline) does not match the geometry of the parcel polygon clicked on ???  see pic   

At a loss on what and/or why is causing this.Robert Scheitlin, GISP

0 Kudos
16 Replies
WilliamBailey
New Contributor II

yes, see below, I even took out the if part

_show2DWebMap: function(appConfig) {

//should use appConfig instead of this.appConfig, because appConfig is new.

// if (appConfig.portalUrl) {

// var url = portalUrlUtils.getStandardPortalUrl(appConfig.portalUrl);

// agolUtils.arcgisUrl = url + "/sharing/content/items/";

// }

if(!appConfig.map.mapOptions){

appConfig.map.mapOptions = {};

}

var mapOptions = this._processMapOptions(appConfig.map.mapOptions) || {};

mapOptions.isZoomSlider = false;

var webMapPortalUrl = appConfig.map.portalUrl;

var webMapItemId = appConfig.map.itemId;

var webMapOptions = {

mapOptions: mapOptions,

bingMapsKey: appConfig.bingMapsKey,

usePopupManager: true

};

if(!window.isBuilder && !appConfig.mode && appConfig.map.appProxy &&

appConfig.map.appProxy.mapItemId === appConfig.map.itemId) {

var layerMixins = [];

array.forEach(appConfig.map.appProxy.proxyItems, function(proxyItem){

if (proxyItem.useProxy && proxyItem.proxyUrl) {

layerMixins.push({

url: proxyItem.sourceUrl,

mixin: {

url: proxyItem.proxyUrl

}

});

}

});

if(layerMixins.length > 0) {

webMapOptions.layerMixins = layerMixins;

}

}

var mapDeferred = this._createWebMapRaw(webMapPortalUrl, webMapItemId, this.mapDivId, webMapOptions);

mapDeferred.then(lang.hitch(this, function(response) {

var map = response.map;

//hide the default zoom slider

map.hideZoomSlider();

// set default size of infoWindow.

map.infoWindow.resize(270, 316);

//var extent;

map.itemId = appConfig.map.itemId;

map.itemInfo = response.itemInfo;

map.webMapResponse = response;

// enable snapping

var options = {

snapKey: keys.copyKey

};

map.enableSnapping(options);

html.setStyle(map.root, 'zIndex', 0);

map._initialExtent = map.extent;

this.layerInfosObj = LayerInfos.getInstanceSyncForInit(map, map.itemInfo);

//save layer's original refreshInterval

this.layerInfosObj.traversalLayerInfosOfWebmap(lang.hitch(this, function(layerInfo){

layerInfo.getLayerObject().then(lang.hitch(this, function(layerObject){

if(layerObject){

lang.setObject("_wabProperties.originalRefreshinterval", layerObject.refreshInterval, layerObject);

//if (layerObject.type === 'Feature Layer') { wjb

layerObject.setAutoGeneralize(false);

//}

}

}), lang.hitch(this, function(err){

console.error("can't get layerObject", err);

}));

}));

0 Kudos
RobertScheitlin__GISP
MVP Emeritus

Can you message me the web map id so I can test on my end?

0 Kudos
WilliamBailey
New Contributor II

from config.json

"itemId": "896ecef050104103a67bf34706ff2e83",

0 Kudos
WilliamBailey
New Contributor II

Even a "fresh" app with that map within appbuilder and no widgets produces same results

0 Kudos
RobertScheitlin__GISP
MVP Emeritus

I am looking into this. The issue is that your web map has the parcels layer as a ArcGISDynamicMapServiceLayer and not a FeatureLayer Like I was thinking. I will continue to look for a solution.

0 Kudos
WilliamBailey
New Contributor II

I will play with FeatureService in it's place and see if that helps.

0 Kudos
WilliamBailey
New Contributor II

So far in using FeatureService, I have not seen this behavior.

0 Kudos