|
POST
|
You should call loadWithCompletion() on the AGSArcGISFeature. Once loaded, you should see all the fields. We do this by default to ensure that we don't bring more down the wire than we need to. Note, you can use AGSLoadObjects() to load all the items in your selectedFeatures array.
... View more
05-20-2019
11:48 AM
|
0
|
3
|
2128
|
|
POST
|
It looks like the shapefile you're using is a Polygon shapefile, but you're providing a Line symbol. Try setting a SimpleFilleSymbol instead. If you just want an outline, use a SimpleFillSymbol and set its Outline to that SimpleLineSymbol you've got, then set the SimpleFillSymbol style to .Null.
... View more
05-20-2019
11:45 AM
|
0
|
2
|
2044
|
|
POST
|
Could you provide more details please? You're seeing the blue dot on the map, and you see the dot moving, but the map isn't orienting itself properly? Perhaps a video or a screenshot would help. What version of Runtime are you using?
... View more
05-16-2019
07:57 AM
|
0
|
2
|
2107
|
|
POST
|
Are you starting the location display with AGSLocationDisplay.start(completionHandler)? Be sure to check for an error in the completionHandler. Note that Apple insist you provide certain keys in your info.plist if you wish to use location. See the note here: ArcGIS Runtime SDK for iOS: AGSLocationDisplay Class Reference The default location datasource, AGSCLLocationDataSource , needs the app to be authorized in order to access the device's location. The app's Info.plist must contain appropriate purpose strings ( NSLocationWhenInUseUsageDescription , NSLocationAlwaysUsageDescription , or NSLocationAlwaysAndWhenInUseUsageDescription keys) to permit this functionality. When the datasource is started it will attempt to request when-in-use authorization if the app's authorization status is not determined, otherwise it will reuse the authorization that has already been granted. If authorization is denied, location updates will not be available. See also the Display Location sample.
... View more
05-16-2019
05:35 AM
|
0
|
0
|
2107
|
|
POST
|
Set AGSLocationDisplay.autoPanMode to .navigation. The location display can be found at AGSMapView.locationDisplay.
... View more
05-15-2019
07:53 AM
|
0
|
0
|
2107
|
|
POST
|
Hi, There are ways to do that for sure but it depends on the basemap that you're using. You could check out this post which describes adding the World Transportation Layer to your basemap and making it a Reference Layer for that basemap, which means it'll be rendered above all your own layers (in this case the AGSRasterLayer). Note that everything described in that process can be done in code in the Runtime if you're building your map that way rather than using a web map. See AGSBasemap, in particular the referenceLayers and baseLayers properties. If you're using vector tile layers, you could use the Vector Tile Style Editor to create two custom styles. One with just the roads category visible (be sure to also turn off the background), and another "opposite" style with them not visible but everything else visible. Use them both in your basemap as described above (the roads only one would be a basemap reference layer, the "opposite" one would be a basemap base layer). Note, you will want to include a lot of the Labels from various categories in the reference layer rather than the non-reference layer, or they'll appear behind the roads too which makes the map unreadable pretty rapidly. The Vector Tile Style Editor allows you to click on a label in the live preview to find it in the layers list. It's a bit fiddly but will work for what you need. See this web map for an example.
... View more
05-14-2019
03:57 PM
|
1
|
1
|
1459
|
|
POST
|
Not out of the box, but there is this Swift extension we published as part of the data-collection-ios Open Source app: https://github.com/Esri/data-collection-ios/blob/1b846d7c8f19d994a83fae259ec2cceeef19be2f/data-collection/data-collection/Extensions/Foundation/Bundle%2BVersion.swift#L18-L45 extension Bundle {
private static let agsBundle = AGSBundle()
/// An end-user printable string representation of the ArcGIS Bundle version shipped with the app.
///
/// For example, "2000"
static var sdkBundleVersion: String {
return (agsBundle?.object(forInfoDictionaryKey: "CFBundleVersion") as? String) ?? "?"
}
/// An end-user printable string representation of the ArcGIS Runtime SDK version shipped with the app.
///
/// For example, "100.0.0"
static var sdkVersion: String {
return (agsBundle?.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String) ?? "?"
}
/// Builds an end-user printable string representation of the ArcGIS Bundle shipped with the app.
///
/// For example, "ArcGIS Runtime SDK 100.0.0 (2000)"
static var ArcGISSDKVersionString: String {
return String(format: "ArcGIS Runtime SDK %@ (%@)", sdkVersion, sdkBundleVersion)
}
}
... View more
05-08-2019
04:02 AM
|
0
|
1
|
894
|
|
POST
|
Yep. This looks like a bug. Thanks for reporting it!
... View more
05-07-2019
10:05 AM
|
0
|
0
|
2106
|
|
POST
|
When you create your Feature Collection Layer from your Feature Collection, you will see a number of subLayers (a FeatureCollection can have many FeatureCollectionTables, so when you create the FCL from a FC, it actually creates one layer per geometry-enabled table). So, even if you just have the one table, you should set the renderer on the Feature Layer found in FeatureCollectionLayer.Layers and not on the FeatureCollectionLayer itself. Or simpler still, set it on the table before you add it to the FeatureCollection (which is actually what your CreateNewFeatureCollection() function does). The FeatureLayer in the Layers collection will then derive its renderer from that upon instantiation.
... View more
05-07-2019
05:15 AM
|
1
|
1
|
1903
|
|
POST
|
I wasn't involved in the design phase, but I suspect that this is down to inheriting from FeatureTable (I'm not sure if the .NET API has OMDs so here's the one from the iOS documentation😞 I further suspect that to inherit the properties of a FeatureTable without allowing the type model to accept it into the FeatureLayer constructor would involve some convoluted hierarchy and protocol designs that might not even work well in some SDKs. The solution I can think of that would solve this through typing would really ugly up that diagram. To be fair, the error you get when you do try isn't bad… System.ArgumentException: 'Invalid argument: Cannot create a feature layer from a feature collection table. Add the feature collection table to a feature collection.' …but I agree it could perhaps a little more usefully point you at the FeatureCollectionLayer as well the FeatureCollection. I'll see if we can get that updated.
... View more
05-07-2019
05:03 AM
|
0
|
0
|
3846
|
|
POST
|
Don't add the sublayers to the map's operational layers. They're already "owned" by the FeatureCollectionLayer (hence the error you're seeing - the map can't take "ownership" as they already belong to something else). Instead, just add the FeatureCollectionLayer itself. In your case, it will only have one sublayer and you'll get the result you want. In the case of the sample, simply don't add the other tables to the FeatureCollection.
... View more
05-06-2019
09:13 PM
|
0
|
0
|
3846
|
|
POST
|
You should use a Feature Collection Layer: FeatureCollectionLayer Class The layers property on it gives access to individual FeatureLayers. A Feature Collection can include multiple tables, so when you instantiate a Feature Collection Layer, you do so using a Feature Collection, which is instantiated using the FeatureCollectionTable you created. See also this sample.
... View more
05-06-2019
03:42 PM
|
2
|
4
|
3846
|
|
POST
|
Hi Manasa. You're really close. You should just need to encapsulate your snap-to-road logic within a custom AGSLocationDataSource. When the mapview is provided new locations from that data source, it'll take care of smoothing interpolating between them. I am pulling together a sample project and blog post to demonstrate this which I'll be sharing shortly.
... View more
04-26-2019
04:08 AM
|
0
|
0
|
3033
|
|
POST
|
Just to close this out, after offline discussion (thank you, Manasa) it turns out the dual inclusion was down to a bug in our Cocoaspec for 100.4. This is fixed at release 100.5. Note that the impact on app size is about 1.1Mb (the compressed size of the bundle, which is largely highly-compressible text-based localization files).
... View more
04-22-2019
01:47 PM
|
0
|
0
|
2108
|
|
POST
|
Hey Michael Davis, The output is not drawn as part of an overlay. All the rendering for the interactive GPU analysis is direct to canvas, for performance reasons, so unfortunately you won't be able to do your calculations there. Related to Distance Along Line, it won't help you here, but in Runtime 100, AGSGeometryEngine has the pointAlongPolyline:distance:() method. Incidentally, points also now cater for M and Z values so that should be a lot less painful now. Cheers, Nick.
... View more
04-22-2019
08:29 AM
|
2
|
0
|
2492
|
| 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 |