POST
|
Excellent! Seems there's always another way to break things. Glad that was it, because otherwise I was out of ideas 🧐
... View more
yesterday
|
1
|
0
|
20
|
POST
|
Yes. That's correct. I still think the "forbidden" error is coming from the service (in contrast to us locking the API by license level). Has your mobile worker's Role been modified to disabled Network Analysis?
... View more
yesterday
|
0
|
2
|
24
|
POST
|
Hi @RTC. To clarify… there are two things being discussed here: Routing (creating turn-by-turn directions using the RouteTask API and the World Routing service or an MMPK) Navigating (following along the route, getting real-time guidance, using the RouteTracker API) There are also two other things that you talk about that are a bit muddied above: Licensing the SDK (Lite, Basic, Standard) Accessing the World Routing Service (with an appropriate access token) There's no licensing restriction to use the World Routing service or an MMPK to calculate turn-by-turn directions (Routes). However, you will need an appropriately scoped access token to use the World Routing service. To use the RouteTracker API for interactive navigation, you need a Basic license unless you are using the World Routing Service, in which case Lite is sufficient (when you pay Esri for the route calculation, that includes use of the RouteTracker API). That's covered in the Lite section of the Licensing and Capabilities table: Navigate a route using the RouteTracker API and ArcGIS location services. If you're using an MMPK (or some other routing service), then you need a Basic License to use the RouteTracker API. That's covered in the Basic section of the Licensing and Capabilities table: Navigate a route using the RouteTracker API and any ArcGIS routing service, or a network dataset that is stored locally on the device. So yes, Mobile Worker user type will allow you to use the interactive navigation guidance capabilities of the RouteTracker API with any service or local network dataset. But if you're using the World Routing service, you can even use the RouteTracker API with a Viewer user type. But: either way you need to make sure you have an access token for the World Routing service. I suspect that the "forbidden" error is because the access token you're using is not properly scoped (perhaps it just includes basemaps?). See this tutorial on selecting privileges. Hope that helps!
... View more
yesterday
|
0
|
4
|
41
|
POST
|
Hi @woodie. I was able to confirm that ANCPI deliberately took this action to prevent desktop GIS applications (both Esri and open source) from accessing the data as some of the data is sold via https://epay.ancpi.ro/epay/Welcome.action I'm unable to tell what the rules are, but they at least specifically block any user agent that contains "ArcGIS" (case sensitive). I'm told that QGIS is similarly blocked. You would need to petition ANCPI to make a change to their servers to allow the Native Maps SDKs to access them.
... View more
Wednesday
|
0
|
0
|
60
|
POST
|
Hi. I took a look with the Swift SDK and it looks like your server is rejecting requests coming from the Native SDKs because of the User-Agent header. Not seen that before, but I reproduced this in Postman too. The Native SDKs add a User-Agent string to all requests. In my Swift SDK test app, the string is this: User-Agent: ArcGISMaps-Swift/200.7 (iOS 18.5; iPhone17,1,Simulator; devmode) com.esri.tutorial.Display-a-web-map/1.0 It'll be something similar for the Kotlin SDK. To open the layer, the SDKs will make a couple of metadata requests: https://geoportal.ancpi.ro/hosted_services/rest/info?f=json https://geoportal.ancpi.ro/hosted_services/rest/services/Hosted/imobile_cladiri/VectorTileServer?f=json If I make Postman GET requests to either of those URLs with no User-Agent header, I get valid JSON responses. But as soon as I add a User-Agent header like the one above, I get an HTML error response and the VectorTileLayer will fail to load with a "forbidden" error. Can you check with your server admin and see if there's configuration on the server that could be rejecting these User-Agent Native SDK headers? For reference, here's some sample output I get from the Swift SDK's ConsoleNetworkLogger: Request sent:
URL: https://geoportal.ancpi.ro/hosted_services/rest/info?f=json
Method: GET
Request headers: User-Agent: ArcGISMaps-Swift/200.7 (iOS 18.5; iPhone17,1,Simulator; devmode) com.esri.tutorial.Display-a-web-map/1.0
Request completed:
URL: https://geoportal.ancpi.ro/hosted_services/rest/info?f=json
Method: GET
Data: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /hosted_services/rest/info
on this server.</p>
</body></html>
Response headers: Connection: Keep-Alive, Content-Length: 227, Content-Type: text/html; charset=iso-8859-1, Date: Fri, 29 Aug 2025 19:10:26 GMT, Keep-Alive: timeout=5, max=100, Server: Apache, X-Content-Type-Options: nosniff To start to figure these things out, you can check the loadStatus on the VectorTileLayer or Map. I then used the ConsoleNetworkLogger to see the requests being made that were getting a loadStatus error, dug into the them a bit, and figured the only difference between a browser and the SDK might be the User-Agent string. I'm not familiar enough with Kotlin to recommend how to track requests like I can with the Swift ConsoleNetworkLogger, so I'll let someone on the Kotlin team pipe up if they have recommendations.
... View more
a week ago
|
0
|
0
|
171
|
POST
|
@Jeffrey_McNeal wrote: I am not familiar with Gist? Ah. Sorry. The link I provided in my first reply: https://gist.github.com/nixta/9cf3b53e3340dc3314c6db40af06c709 A "Gist" is just a small snippet hosted on GitHub.
... View more
05-13-2025
11:25 AM
|
1
|
0
|
665
|
POST
|
You just need to place the world and aux files alongside the JPG and the SDK will find them when you create the raster. Think of it this way: in the context of a georeferenced raster, the JPG file alone is incomplete data (hence the SDK error). Complete data is the JPG file + the World file + the Aux file. Contrast with a GeoTIFF where a single file is complete data for a georeferenced raster. The error could be better, and we could improve the documentation around the need for world and aux files. I'll pass that on to the team. For the aux file, you should just be able to copy straight from the Gist. For the world file, you'll need to make sure it's updated to properly position and scale the image. At the bottom of the gist there are links to documentation that describe world and aux files in more detail.
... View more
05-12-2025
10:00 AM
|
1
|
2
|
704
|
POST
|
Are you georeferencing the JPG file properly? Since JPGs have no georeferencing data built in, you need to provide a World file (which defines the size and location of the image) and an Aux file (which defines a spatial reference). See this example: https://gist.github.com/nixta/9cf3b53e3340dc3314c6db40af06c709 If you are already doing that, then can you try to just add the raster layer directly to the operational layers so we can discount Group Layer being an issue?
... View more
05-12-2025
07:15 AM
|
0
|
1
|
717
|
POST
|
Thanks for your question, @JasonDick. You may be veering into use of the SDK where we have to explore specific limitations as defined in the Product Specific Terms of Use. Firstly, you cannot use the Native Maps SDKs in a server context. This is highlighted in item 19 in that document (a requirement under "ArcGIS Maps SDK for Java, Kotlin, .NET, Qt, Swift, or Flutter"): 19. License may not be used to develop Internet or server-based Value-Added Applications. But to add to @Ting's comment, while the Lite license does indeed cover GeometryEngine, overall use of any of the Native Maps SDKs with a Lite license does first require that you are using it in conjunction with another Esri product or products. See item 62 in that document (a requirement under Lite ArcGIS Runtime Deployment License): 62. Value-Added Applications must be used in conjunction with other Esri Products. Examples of other Esri products include ArcGIS Online, ArcGIS Location Platform, or ArcGIS Enterprise to deliver services, ArcGIS Pro to create and maintain data packages for use by your application, or for example ArcGIS StreetMap Premium. Unfortunately, based on your description of your app (no other Esri product being used), it seems you would not be allowed to use the ArcGIS Maps SDK for .NET. Sorry to be the bearer of bad news, but feel free to DM me if you would like to explore this further.
... View more
04-17-2025
03:21 PM
|
1
|
1
|
539
|
POST
|
Hey @ChristopherSwingley, thanks for the info (and sorry for the slow response!). Yeah, to my non-Qt developer eye that does look somewhat confusing. I'll check with the team to see if the code being there is an oversight, and if not, whether for a sample like this the comments could be more helpful.
... View more
03-27-2025
02:00 PM
|
0
|
0
|
433
|
POST
|
Hi @James_W - I should have addressed these questions in your other question over here.
... View more
03-27-2025
01:06 PM
|
0
|
0
|
301
|
POST
|
Hi @James_W . Let's dig in a bit… API Keys customers can use my app, and using the Lite api key, my account would be billed for their use over the free limits. Is that right? Yes, almost 🙂 Just remove the word "Lite" (Lite refers to the SDK License level, not the API Key), see below. Unless of course I make them use their own API key, or they login with their own account? Correct. See this page for some more details. SDK Licenses Separately, a Lite license is required so that you can remove the developer watermark and release your app for production use. API Keys vs SDK Licenses These two things serve two separate purposes. You will always need an SDK License to release your Native Maps SDK app to production. You may or may not need an API Key, depending on the services you use. The SDK License (e.g. Lite). This addresses: how do I license my app to remove the developer watermark and release my app for production? The access token (e.g. API Key). This addresses: how do I authorize access to services (in this case ArcGIS Location Platform services) and ensure their use is properly metered and billed? Offline data Now, the offline questions… You wrote this: Separately, if you wanted to run with offline maps, what licenses are needed? Is it an ArcGIS Pro license to create an offline mobile map package, then I can use the .net SDK with the lite api key to load and process the tiles offline indefinitely? How many ArcGIS Pro licenses would I need, just the one to package the mobile package? Our use case will be to show and move around 2D or 3D based tiles via SDK (no look ups or advanced features). There are two questions there: how to create offline content, and how to use offline content. But first, the core question of "I can use the .net SDK with the lite api key to load and process the tiles offline indefinitely?" should be "I can use the .net SDK with the lite SDK license to load and process the tiles offline indefinitely?" and the answer is YES, but please read on for details. Creating offline data In terms of creating that offline data package, I'll assume you want to use our basemaps, and there are generally three ways to get an offline data package of our basemaps: Package it up from ArcGIS Online using ArcGIS Pro (ArcGIS Online subscription and ArcGIS Pro license required - these days you typically get an ArcGIS Online subscription and ArcGIS Pro together). Generate and download it from ArcGIS Online using the Native SDKs (ArcGIS Online subscription required). Buy it from us in the form of StreetMap Premium. For option 1, one ArcGIS Pro license is sufficient to create mobile map packages, mobile scene packages, or vector tile packages from our services for use in multiple apps by multiple users. Whether you're using option 1 or option 2, an ArcGIS Online account is required to authenticate when you generate and download the package (there isn't currently a way to do this with an ArcGIS Location Platform account). [ Note: there's a fourth way, involving data appliances and ArcGIS Enterprise, but that's almost certainly not what you need. ] Using offline data In terms of using offline data, if you're using Esri-proprietary packages like TPKs, TPKXs, VTPKs, MMPKs, MSPKs etc. (from your description, you will), then the Lite license is sufficient and you're in good shape. You can learn more here and here. Once you have the package for your area of interest, you can deploy that to multiple devices/apps/users. I could not find anything in our master agreement about how long you can use the data (see section 3.2c) but "indefinitely" is a long time and you should expect to re-generate the packages to keep your offline maps current, but we don't currently enforce that in the SDKs. I expect you would need to keep your ArcGIS Online subscription current for as long as you or your customers use the packages. One last thing to consider: is your app a commercial app (as defined in 2.1c in our master agreement)?
... View more
03-27-2025
10:40 AM
|
2
|
0
|
550
|
POST
|
Hi @ChristopherSwingley. That's concerning. Could you help me understand where our documentation was misdirecting you please? We try to be very clear about the difference between access tokens and license strings, so if we've missed the mark we need to address that. Please DM me (or if you happen to be going to the DevTech Summit in Palm Springs, we can connect then). Thanks!
... View more
03-04-2025
09:31 AM
|
0
|
2
|
550
|
POST
|
Based off the screenshot of the folders, you already have a downloaded map on disk at the location you're trying to download to. When you specify the download location, you should make sure there isn't already something at that location on disk. There are two things you can do: If the downloaded map you already have on disk is suitable, you can just re-open that instead of re-downloading it. To re-open without re-downloading, see Step 2 here. Otherwise, if you need to get a fresh copy of the map, delete the previously downloaded map (folder) and re-download to the same location (or you can download to a different location and keep both copies of the offline maps, but if they're the same map, that's probably not what you want). Hope that helps.
... View more
02-12-2025
08:25 AM
|
0
|
0
|
364
|
BLOG
|
We're pleased to announce a new public beta of the ArcGIS Maps SDK for Qt targeting Linux on ARM64 Hardware.
You can read all about it in the ArcGIS blog post.
If you're interested in using the Native Maps SDKs on ARM64 Linux, please join the beta and tell us in the dedicated beta forum how you plan on using the SDKs on ARM64 Linux systems.
... View more
12-11-2024
11:12 AM
|
2
|
0
|
318
|
Title | Kudos | Posted |
---|---|---|
1 | yesterday | |
1 | 05-13-2025 11:25 AM | |
1 | 05-12-2025 10:00 AM | |
1 | 04-17-2025 03:21 PM | |
2 | 03-27-2025 10:40 AM |