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
Solved! Go to Solution.
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);
}));
}));
Can you message me the web map id so I can test on my end?
from config.json
"itemId": "896ecef050104103a67bf34706ff2e83",
Even a "fresh" app with that map within appbuilder and no widgets produces same results
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.
I will play with FeatureService in it's place and see if that helps.
So far in using FeatureService, I have not seen this behavior.