|
POST
|
Is there a maximum width for the callout? I've been fiddling with this as well and can get the the size to change but the width at least seems to have an upper bound of around 290 or so. Edit to add: I can set the custom view to a width of say 300 or 400 but the callout just clips it. Setting height to 300 or 400 expands the callout as expected.
... View more
11-13-2019
11:02 AM
|
0
|
2
|
2458
|
|
POST
|
Hey that's very creative and helpful, thanks! I'll give it a try and report back.
... View more
11-12-2019
01:55 PM
|
0
|
0
|
1475
|
|
POST
|
I've added the Esri Living Atlas Tapestry Layer (https://www.arcgis.com/home/item.html?id=c2a2e156485b4feab11b86976fe9c011) using AGSArcGISMapImageLayer to an app using 100.6. The layer shows up as expected, however when I try and identify it using identifyLayersAtScreenPoint:tolerance:returnPopupsOnly:maximumResultsPerLayer:completion:() I get the following error: ArcGIS Runtime Error Occurred. Set a breakpoint on C++ exceptions to see the original callstack and context for this error: Error Domain=com.esri.arcgis.runtime.error Code=1001 "SQL error or missing database" UserInfo={NSLocalizedFailureReason=too many columns on State_0, NSLocalizedDescription=SQL error or missing database, Additional Message=too many columns on State_0} So the error is telling me there's too many fields for it to do an identify but I cannot figure out how to limit the fields returned (I only need about 10 of them for our purposes). I've asked this question in the past (and Esri said they were going to look into it) but never did figure out a solution other than creating a copy of the data with just the fields we want and hosting it ourself. Is there a workaround for this or are we still stuck hosting the data? I'd like to stop having to do this since it eats up credits duplicating data already out there, plus it's disconnected from the authoritative layer that Esri is publishing. I'm Identifying the layer using this method: self.agsMapView?.identifyLayers(atScreenPoint: screenPoint, tolerance: 12.0, returnPopupsOnly: false, maximumResultsPerLayer: 4) { (results: [AGSIdentifyLayerResult]?, error: Error?) in {
...
} Thankful for any help...
... View more
11-12-2019
01:11 PM
|
0
|
9
|
1619
|
|
POST
|
I heard back from Esri about 90 minutes ago. They're aware and are investigating (despite AGOL status showing all green, it's still down for us)
... View more
10-21-2019
09:17 AM
|
0
|
0
|
2350
|
|
POST
|
I am seeing this exact same issue and just submitted a support ticket.
... View more
10-21-2019
07:01 AM
|
0
|
0
|
2350
|
|
POST
|
So it is of course my implementation that was at fault here. Basically I was trying to be too clever with the DPI and the resulting image size was too big (I guess) when on ios. Instead, I set the screenshot options to be something like below which works how I was expecting (isLandsape is just a boolean I calculate elsewhere which is true if width > height and I'm setting the height and width to be appropriate for US Letter sized sheets): const options = {
height: isLandscape ? props.view.height * window.devicePixelRatio : (11 / 8.5) * props.view.width * window.devicePixelRatio,
width: isLandscape ? (11 / 8.5) * props.view.height * window.devicePixelRatio : props.view.width * window.devicePixelRatio
} as __esri.MapViewTakeScreenshotOptions; Ultimately i'm converting this image to a pdf and overlaying some logos and it's working beautifully now.
... View more
09-24-2019
01:11 PM
|
1
|
0
|
1485
|
|
POST
|
I've got a few different app I've developed that use the .takeScreenshot() method to export an image of the map. Everything works as expected on the desktop, but on iOS (both 12 and 13) and both iPad and iPhone devices, the screenshot is just a blank black image. I'm using the dataUrl property of the screenshot result to generate a pdf using jspdf. But even just opening the dataUrl in the browser shows me a blank black image. I've seen some references on the web that if the base64 string isn't divisible by 4 then it won't render, but that isn't the case here since the string is divisible by 4. Wondering if this is a bug with iOS, the JS API, or my implementation. It works fine in Safari for the desktop along with the other desktop browsers so I lean towards an iOS issue, but maybe somebody else out there has run across this and has a working solution... Specs: iOS 12 & 13 iPhone X JS API 4.11 & 4.12 const options = {
height: 8.5 * dpi,
width: 11 * dpi
} as __esri.MapViewTakeScreenshotOptions;
try {
const screenshot = await props.view.takeScreenshot(options);
} catch (error) {
console.error(error);
}
... View more
09-23-2019
01:28 PM
|
0
|
1
|
1595
|
|
POST
|
I had the same issue with this last summer: Feature Layer incorrect rendering with webgl rendering and picture marker symbols and it was resolved with 4.9. A couple of bug reports were filed about it: #BUG-000115988 Picture Marker Symbols in Feature Layer are unable to display with WebGL enabled when imageData of the symbol stored at REST Endpoint is lengthy. #BUG-000115991 Picture marker symbols in FeatureLayer with WebGL enabled display as jumbled when using more than 10 unique value categories to symbolize points. You may want to open a support ticket with Esri and have them look at this again if you're seeing the same issues because it looks like the exact same thing we were experiencing with 4.8.
... View more
06-18-2019
02:50 PM
|
0
|
0
|
1166
|
|
POST
|
Our point layer says supportsCoordinateQuantization: true but we are also using AGOL. I haven't spun up a 10.6.1 server so no idea if it operates any differently (one would hope not though, lol).
... View more
11-12-2018
06:06 PM
|
0
|
1
|
4117
|
|
POST
|
Just a guess, but I think you may have to pass quantizationParameters to the endpoint. Query (Feature Service/Layer)—ArcGIS REST API: Services Directory | ArcGIS for Developers
... View more
11-12-2018
01:52 PM
|
0
|
3
|
4117
|
|
POST
|
In your main.tsx, remove the call for zoomToLayer.getChoices(). In your constructor for ZoomToUnique.tsx add this.getChoices() and remove this.renderNow() from the getChoices() method. Also add a renderable() decorator to your choices property and finally add a key tag to your select element. See below for a working ZoomToUnique.tsx: import { subclass, declared, property } from "esri/core/accessorSupport/decorators";
import { renderable, tsx } from "esri/widgets/support/widget";
import Widget = require("esri/widgets/Widget");
import watchUtils = require("esri/core/watchUtils");
import FeatureLayer = require("esri/layers/FeatureLayer")
import FeatureLayerView = require("esri/views/layers/FeatureLayerView")
import QueryTask = require("esri/tasks/QueryTask")
@subclass("esri.widgets.ZoomToUnique")
export default class ZoomToUnique extends declared(Widget) {
_currentChoice: string = "";
@property()
@renderable()
choices: string[] = [];
@property()
comboBox: HTMLSelectElement = null;
@property()
layerView: FeatureLayerView
@property()
field: string
constructor(layerView: FeatureLayerView, field: string, params?: Partial<__esri.WidgetProperties>) {
super(params)
this.layerView = layerView;
this.field = field;
this.getLayerChoices();
}
getLayerChoices() {
const layer = this.layerView.layer;
const queryParams = layer.createQuery();
queryParams.returnDistinctValues = true;
queryParams.returnGeometry = false;
queryParams.where = "1=1";
queryParams.outFields = [this.field];
layer.queryFeatures(queryParams).then((features) => {
this.comboBox = document.createElement("select");
features.features.forEach(g => {
const choice = g.attributes[this.field];
this.choices.push(choice);
const option = document.createElement("option");
option.value = choice
option.text = choice
this.comboBox.add(option);
});
if (this._currentChoice === "") this._currentChoice = this.choices[0]
// this.renderNow();
});
}
zoomToChoice() {
if (this.comboBox == null) return;
console.warn("Not implemented!")
}
render() {
return (
<div class="esri-widget">
<h3>{this.field}</h3>
<br />
<select>
{this.choices.map((c, idx) => <option key={idx} value={c}>{c}</option>)}
</select>
</div>
)
}
}
... View more
10-25-2018
06:01 PM
|
1
|
1
|
2019
|
|
POST
|
Interesting, I'll have to investigate this some more on my side. We're using app logins for our setup here so the user doesn't have to login to AGOL to see the premium layers. I'll look into it some more and see if something is up with our token or something but that'd be odd since the error is specific to CORS. Was just weird that it worked at 4.8 and stopped at 4.9. For now, I've just switched the layer over to a FeatureLayer and it's working fine.
... View more
10-04-2018
03:29 PM
|
0
|
0
|
1747
|
|
POST
|
Looks like 4.9 has solved the issues I was having with this.
... View more
10-04-2018
03:07 PM
|
0
|
0
|
1993
|
|
POST
|
Noah, I've tried that and no dice. (as noted in my original post )
... View more
10-04-2018
03:06 PM
|
0
|
1
|
1747
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 08-23-2018 06:35 AM | |
| 1 | 08-23-2018 06:31 AM | |
| 1 | 09-24-2019 01:11 PM | |
| 1 | 10-25-2018 06:01 PM | |
| 1 | 10-23-2017 12:51 PM |
| Online Status |
Offline
|
| Date Last Visited |
10-29-2025
08:34 AM
|