|
POST
|
Hi Vanya Ivanov, To use a TPK, do not use a RasterLayer. Instead use an ArcGISTiledLayer with a TileCache initialized with the TPK. See the example here: ArcGISTiledLayer Constructor (TileCache) Hope this helps.
... View more
09-24-2020
05:10 AM
|
1
|
0
|
2023
|
|
POST
|
You'll need a couple of files to go with the local raster file. Some local raster formats embed this in the headers, but some need an accompanying file or two. One file specifies the spatial reference. This is a .aux.xml file. See this gist for an example. The other file specifies pixel to coordinate mapping. This is called the world file and you can read more about world files here, including what to name them. These are plain ASCII files with 6 values in that describe how a pixel in the image translates to a geographic coordinate: x-scale and y-scale for the pixels x and y offsets for the center of the upper-left pixel from the spatial reference origin. Two rotation terms (frequently those are 0). The scale and offsets are in the spatial reference units of the spatial reference declared in the .aux.xml file. Some people have successfully created these files on the fly in their Runtime apps, written them to disk alongside the image, and opened the image as a local raster. You probably don't need to ever modify the .aux.xml world file (the one in the gist is for Web Mercator Aux Sphere) and can just reuse it. Hope this helps.
... View more
09-03-2020
07:27 AM
|
1
|
2
|
2759
|
|
POST
|
Actually, there is also this (Marker Symbol Placement), which I think is more powerful and useful than picture stroke symbols: Position and place marker symbol layers—ArcGIS Pro | Documentation Unfortunately, Runtime doesn't support this yet either, but it is at least being considered. Would that work for you?
... View more
08-31-2020
11:02 AM
|
0
|
1
|
2059
|
|
POST
|
Unfortunately, Runtime does not support this at present. Although there's no API, I had hoped that you might be able to construct symbol JSON and have Runtime render it using AGSSymbol.fromJSON(), but I checked with the team and this particular capability is not yet implemented (Runtime supports most of what can be authored in Pro for line styles, except picture and gradient line symbols). I don't have an ETA for when it would be implemented but I'll make sure your comment is noted.
... View more
08-31-2020
10:36 AM
|
0
|
3
|
2059
|
|
POST
|
I'm not entirely sure what you mean. Could you provide a screenshot of what you're trying to achieve? Do you mean something like the picture stroke symbol described in the ArcGIS Pro documentation here?
... View more
08-31-2020
08:45 AM
|
0
|
5
|
2059
|
|
BLOG
|
The Runtime team is pleased to announce the latest release of the Runtime SDK for iOS (see the release notes, and the announcement on the ArcGIS blog).
Yet again, we follow the track based approach (don't expect that to change soon), so there's lots of new functionality for Defense/Public Safety, and Utility customers, as well as improving platform support. There's nothing particularly specific to iOS developers this time around, but some pretty cool new functionality nonetheless:
New offline map capabilities: There are 3 new pieces to play with:
Checking the publishing status of a preplanned map. Previously you would have to trust that the preplanned offline map had finished generating (fairly reasonably if they're done overnight) but you couldn't exactly tell. Now there's an API to check whether the preplanned map has finished packaging and is ready to download. Tell your users! I mean, in a nice UX…
Download an offline map for view only: This one seems a bit subtle, but it's very helpful. Typically, when you download an offline map, the feature data that comes with it comes in a geodatabase that is registered with the server. That allows us to track edits and let you sync edits up. But it's a resource held on to on the server, and when you're done with the offline map you'd have to unregister the geodatabase. If you know you're not going to edit and sync (either preplanned or on-demand), you can tell the API and we'll make sure you don't put that extra burden on the server. You also won't need to unregister stuff when you're done with the map.
Online services in an offline map: What's that? An oxymoron? Well, not quite. Sometimes you want to use an offline map for when you're offline, but still bring in live data for context if you happen to have a network connection. Weather is an obvious example. But you could include wildfires, flooding, traffic, etc.. With the last release we added the ability to do this with with Mobile Map Packages from ArcGIS Pro. Now you can do it with Offline Maps from ArcGIS Online. Just specify that you want to include layers that can't be take offline in the AGSGenerateOfflineMapParameters or AGSGenerateOfflineMapParameterOverrides.
Lots of new Utility Network stuff: New trace types… Getting geometries back directly in trace results (rather than getting elements and then having to get geometries for them)… Return function results from a trace…
OGC API - Features: It's still a specification in progress, but we cover most of what's in Part 1. We'll be improving this over the next releases.
AGSRouteTrackerLocationDataSource: This one is pretty neat. Just create this with a AGSRouteTracker, and set it as the AGSMapView.locationDisplay.dataSource and your blue dot will intelligently snap to the route you're navigating. You could do this before by creating your own custom location data source, but it was quite a bit of work. You're welcome! Actually, I'm mostly just sorry we made you do all that work.
Know if a layer is having trouble getting data: This goes well with the new online data in offline maps. You can watch the layer view state and there's now a Warning type that lets you know we've been able able to get to the layer source, but had some trouble getting data out of it (e.g. if your network connection went awol). The error will tell you more.
Tookit updated: The toolkit has some updates and fixes. See this blog post for more details.
There's much more new stuff to play with too (and lots more to come in December with Update 10). Check out the release notes for more details, and as always we hope you enjoy the new capabilities. Please feel free to DM me and let me know what you're building!
... View more
08-27-2020
04:44 PM
|
1
|
2
|
1874
|
|
POST
|
Jake Shapley: Just to confirm, this will be fixed in 100.9, due for release very shortly. Thanks for providing all the details and helping us identify the issue.
... View more
08-18-2020
07:36 PM
|
0
|
0
|
8638
|
|
POST
|
Hi Travis Dillon, Unfortunately Runtime isn't going to fit the bill here. As Mark mentioned it's not built for a server-side environment and while you might technically get it to work in limited use-cases, it is currently against our terms. After asking around a bit, it seems perhaps the best option would be to publish a GeoProcessing tool to ArcGIS Server. There should be GP tools available for you to publish a GP service from Pro that does what you're after (reading KML to Feature Classes, rendering maps, outputting PDFs/images etc). Or instead of publishing a GP service, you could build a Python script to run on an ArcGIS Server machine, but either way you would need a regular VM with ArcGIS Server installed. Sorry I don't have a better answer than that, but I hope that helps some. Nick.
... View more
08-11-2020
12:30 PM
|
0
|
0
|
1427
|
|
POST
|
Hi. In general, yes, you can use App Login to work directly with ArcGIS Online. However, when you are dealing with sharing between groups and organizations, you may encounter limitations (think of App Login as designed for targeted direct access, without a particular user identity behind it). Unfortunately there is currently a limitation in ArcGIS Online which prevents the preplanned offline workflow working with App Login. We're investigating and I'm hoping that we can get this resolved with the next update to ArcGIS Online.
... View more
08-10-2020
08:03 AM
|
0
|
0
|
2083
|
|
POST
|
I've implemented a way to get a token using AppLogin for iOS in Swift. Other customers have had success translating this approach to Android. Hopefully it will help: App ID (swift codable) · GitHub NOTE: It is currently against our terms and conditions to use App Login to access private data services. App Login is intended to allow access to our value add services such as routing, analysis, etc.. But we realize that there are some valid use cases where private data access via App Login is desirable and we're assessing this condition. In the meantime, you could consider creating ArcGIS Online layers with embedded credentials. See this document: ArcGIS Server web services—ArcGIS Online Help | Documentation In short, for each private layer you create a new ArcGIS Online item that combines the service URL for the layer with embedded credentials. You can then go to the item settings for the new item and limit access by specifying referer URLs. Then share the item publicly and ensure your app uses the correct referer URL. Here I've created a version of the traffic layer with embedded credentials: Then I went into the new item's settings, shared it publicly, and limited access by referer: Lastly in my app, I set the "Referer" for requests on that layer to match the text above. You do this by settings a RequestConfiguration and calling setHeaders(). You could modify the global RequestConfiguration if you prefer, but in this case I wanted to be more explicit. Here's how I do this in Swift with the ArcGIS Runtime SDK for iOS. It should work the same for Android: let layer = AGSArcGISMapImageLayer(item: AGSPortalItem(portal: .arcGISOnline(withLoginRequired: false),
itemID: "<ITEM ID TO MY NEW ITEM WITH STORED CREDENTIALS>"))
if let rc = AGSRequestConfiguration.global().copy() as? AGSRequestConfiguration {
rc.userHeaders = ["Referer": "myCustomApp://iCanUseStoredCredentials"]
layer.requestConfiguration = rc
} You would choose a Referer string of your own that's kept secret. And you should decide for yourself if this provides enough security for your data. If that referer string and the item ID/URL leak, then anyone with that info could access the service.
... View more
08-05-2020
12:19 PM
|
0
|
4
|
2083
|
|
POST
|
The S57 is just a single layer in the map, which is displayed by the map view. To draw additional shapes over the top, the easiest way is to add a GraphicsOverlay to the MapView, and then to add individual Graphics to the overlay. The graphics will each have a Geometry (the circle or triangle, defined by as a sequence of Points), a Symbol (defining how it looks) and optionally some attributes. Check out these samples: Add graphics with symbols Create geometries Add graphics with renderer Be sure to check out the tutorials too. Since you're new to the Runtime, I'd recommend taking some time to go through a few of them. This one in particular would be useful to you: Tutorial: Display point, line, and polygon graphics Hope that helps.
... View more
07-31-2020
08:33 AM
|
0
|
1
|
1141
|
|
POST
|
Can you provide more information? We would need to learn more about the service. Are you able to share it? Feel free to DM me if you prefer.
... View more
07-22-2020
01:50 PM
|
0
|
0
|
1049
|
|
POST
|
Happy to help! Yeah, when you call loadNibNamed(), you'll get instantiated views as defined in the XIB file. In this case we just have one, so we grab the first. In the XIB itself, in the Identity Inspector, we declared that this view class was MyCustomView (in your case MapCalloutMessageView) which is a UIView subclass. So you already have a handle to the root view of what you defined in your XIB, and it will be the class you configured it to be in the XIB. Just mentioning this to be clear that you don't need your custom outlet for the view that holds the label. That's what you get back from loadNibNamed().first. Glad it's working!
... View more
07-16-2020
09:33 AM
|
0
|
0
|
4159
|
|
POST
|
Hi Kenneth. I pulled together a sample project as Mark was answering. Turns out it does just about the same thing as his. Download this, take a look in Xcode, and hopefully it can help you figure out what you're doing that's different.
... View more
07-15-2020
11:22 AM
|
0
|
0
|
4159
|
|
POST
|
Mark is correct. The AGSMapView exportImage method just exports the rendered map. I’m not sure how passing the AGSMapView through that code would work. Perhaps it’ll work just fine, but if not you might include the compass and scale bar as subviews of a single transparent overlay view that is constrained to the dimensions of the map view (but has touch interactions disabled). Then you could use the example he links to to just render those controls in a way you can easily overlay onto the exported map image, without exporting the contents of the AGSMapView itself. However, I expect that it could work just fine rendering all views together now that Runtime uses Metal.
... View more
07-06-2020
05:11 PM
|
0
|
0
|
2396
|
| Title | Kudos | Posted |
|---|---|---|
| 2 | 05-14-2026 07:07 AM | |
| 2 | 04-30-2026 10:59 AM | |
| 4 | 04-22-2026 08:07 AM | |
| 1 | 01-29-2026 09:39 AM | |
| 1 | 12-17-2025 10:12 AM |