|
POST
|
Hi Mike. You can use the saveAs method on AGSMap. Note that since this involves writing content to ArcGIS Online, this requires a Basic level runtime license (see License your app—ArcGIS Runtime SDK for iOS | ArcGIS for Developers for more info). If that's a non-starter, then you'll need to use ArcGIS Online to create the web map.
... View more
11-02-2020
02:28 PM
|
0
|
3
|
2579
|
|
POST
|
Hi. This is not something the offline map task supports. The offline map task is centered on a web map as the source: The map must be a web map either on ArcGIS Online or an on-premises ArcGIS Portal. To download what you've built in code, you can do one of two things: Save the map you created in code as a web map, and create the offline map task from that. Download the layers in the map you created in code on a service-by-service basis (so multiple layers from one service is a single GenerateGeodatabase job, each vector tile layer and image time layer is a separate export tile cache job). This is what the offline map task does behind the scenes. But you will need to manage the downloads, and resultant file storage. You will then have a set of local data that you'll need to use to create a map in code each time your app needs the map. As you can see, the offline map task is super helpful here. If you don't need to keep the data offline, and just want to avoid recreating the map each time in code, you can serialize your AGSMap with toJSON and read it back in with fromJSON. Hope that helps.
... View more
11-02-2020
11:29 AM
|
0
|
5
|
2579
|
|
POST
|
The performance difference will be in reading the metadata about the layers and obtaining the data to display. If you are creating a map in code and adding data from a feature service, it takes time for that feature service data to get to your iPhone/iPad. On the device, the data contained in the mobile map package is right there and data access is really fast. The only thing to consider between reading feature data from a feature service and reading it from a MMPK is that a feature service can generalize polygon and polyline data suitably for display so as not to download more vertices than can be displayed. Polygon and polyline feature data read from a MMPK is read in full and not generalized on the fly. If a mobile map package works for your app, there's no reason you shouldn't use it if you want to. However, web maps allow for the map content to be updated as needed. You need to work out how to distribute your mobile map packages yourself. Note that as of 100.9, mobile map packages can include "online layers", which can be used when there is a network connection available, so you can get the best of both worlds if need be. There's of course a local storage overhead of using mobile map packages. Does that answer your question?
... View more
11-02-2020
11:09 AM
|
0
|
1
|
1401
|
|
POST
|
Hi Mike. It should always be more efficient to have just one package. You didn't mention this use case, but mobile map packages created in ArcGIS Pro can include multiple maps that can share data. Separate MMPKs would duplicate this.
... View more
11-02-2020
10:30 AM
|
0
|
1
|
1377
|
|
POST
|
Hi David. We've done quite a bit of work on annotations in the last few releases. Would you be able to try this out with 100.9 and see if that helps?
... View more
10-29-2020
04:32 PM
|
0
|
0
|
1976
|
|
POST
|
Hi Skyler. Can you share the MMPK with us please? Feel free to email me directly. Cheers, Nick.
... View more
10-21-2020
08:36 AM
|
0
|
1
|
1357
|
|
POST
|
Note, you don't need to explicitly call LoadAsync() on the layers. The way Runtime handles cascading dependencies will ensure that when the Scene is displayed in a SceneView, the SceneView will internally load the Scene, which will internally load the Basemap, which will internally load the two AGSTiledLayers. You typically only need to explicitly load a Loadable object if you need to read properties from it.
... View more
10-20-2020
07:52 AM
|
2
|
1
|
2271
|
|
POST
|
Almost there. Instead of creating one ArcGISTiledLayer pointing at 2 TPKs, create 2 separate ArcGISTiledLayers, each pointing to one TPK, and add both of those layers to the new Basemap.
... View more
10-19-2020
12:57 PM
|
2
|
3
|
2271
|
|
POST
|
Sounds like you're looking for DefinitionExpression. This will only retrieve the feature(s) you're interested in. Note that this is also exposed through the FeatureLayer, in case that is a more logical place for you to set it.
... View more
10-16-2020
09:36 AM
|
1
|
1
|
2264
|
|
POST
|
Are you sure the layer loaded OK? I would have expected a load error in this case. I can't explain why ArcGIS and an Enterprise server would have failed at the same time except for some network/firewall issue, possibly exacerbated by caching on the device. Did you test on more than one device, and were you behind a firewall/load balancer at the time that might have blocked traffic or cached a bad response? If you see it happen again, you should check the loadError property on the AGSServiceFeatureTable, and can use AGSRequestConfiguration.debugLogRequests and debugLogResponses to log network traffic to the console. This should tell you what's going wrong. You can also control the URLSession cache policy with the requestCachePolicy property. You can either control the global AGSRequestConfiguration, or copy() the global one, modify the copy, and set the copy on the AGSServiceFeatureTable.requestConfiguration property to just control calls to that service. This is true of any class that implements AGSRemoteResource.
... View more
10-13-2020
08:49 AM
|
0
|
0
|
2029
|
|
POST
|
Hi there. The 10.x licenses will not work with 100.x. Whether you need to buy another license depends on what capabilities you are using in the Runtime. See Licensing capabilities for more details. In short, if you're not doing any on-device visual analytics (like GPU viewshed), not editing data (unless it's public), not using the Navigation API, and not using local files like Shapefiles or GeoPackages, chances are that you will be good with the Lite level license. But do check the table I linked to above. You can find your Lite level license key at the ArcGIS for Developers dashboard. The Lite license key is free to use for an unlimited number of deployments. If you need a higher level license than Lite, then you will need to buy new licenses, or use ArcGIS named user login to enable capabilities according to the user type. You can see that outlined in the licensing table too. Hope this helps.
... View more
10-12-2020
06:15 AM
|
0
|
0
|
2360
|
|
POST
|
Do you have an example layer you could share? Another approach could be to use the AGSRenderer.symbolForFeature() method. Get the renderer directly off the feature layer, and pass in the feature in question.
... View more
10-09-2020
10:43 AM
|
0
|
2
|
2029
|
|
POST
|
Hi. Make sure you're setting the delegate properly and haven't accidentally neglected to do that. See arcgis-runtime-samples-ios/NavigateRouteViewController.swift at 1111077da0c1d6f4d95772596174e699ffa390a4 · Esri/arcgis-r… If you're doing that, and you're passing the routeTracker to the AGSRouteTrackerLocationDataSource constructor, and you're setting the mapView.locationDisplay.dataSource to the new AGSRouteTrackerLocationDataSource, then the tracker will remain allocated and you should receive delegate calls. If you still can't track it down, we'd need to see more of your code. Nick
... View more
10-07-2020
11:40 AM
|
2
|
2
|
2784
|
|
POST
|
Hi, Thanks for posting. Unfortunately the Crashlytics screenshots don't tell us anything helpful. You will need to get Crashlytics to symbolicate their logs using the dSYM file that's installed with the SDK. You'll find it in ~/Library/SDKs/ArcGIS/iOS/Frameworks/Dynamic next to the ArcGIS.framework file. It will also be helpful to know what the application is doing at the time. Hope this helps. Nick
... View more
10-06-2020
12:09 PM
|
0
|
0
|
1945
|
|
POST
|
This is possible. You need to provide overrides when you create the offline map to download. Check out the ApplyFeatureFilter method in this sample. In short, you set up parameters as usual, then ask for an overrides object. In that overrides object, you can modify the specific GenerateGeodatabaseParameters for the layer(s) you're interested in. GenerateGeodatabaseParameters has an Extent property (it can be any polygon), and a LayerOptions property. LayerOptions is a list of GenerateLayerOption objects, one for each layer in the service/geodatabase. The LayerOptions property lets you provide a WhereClause for that layer, as well as whether to use the Extent set on the GenerateGeodatabaseParameters object. This bit of the API takes a minute or two to understand (and I recommend you look at the above sample), but it's really powerful and gives you layer-by-layer control over taking the map offline. What I can't quite remember is whether, when you sync edits, any offline map creates and edits need to meet any Extent and WhereClause restrictions that were defined when the map was downloaded. Worth making sure. I have asked the team that built this and will confirm when I find out. Hope this helps.
... View more
10-02-2020
02:47 PM
|
2
|
1
|
1360
|
| 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 |