|
POST
|
Thanks. I will take a look. Might take a couple of days before I am able to get around to it. Nick.
... View more
01-16-2019
06:58 PM
|
0
|
0
|
5546
|
|
POST
|
Hey Michael Moor, Sorry for the late reply. Could you share the basemap layer you're using? Is it a public one (one of our Imagery basemaps perhaps?). And could you clarify what you mean by "the basemap does not resample after reaching the maximum Level of Details" - what behavior are you seeing? Cheers, Nick.
... View more
01-08-2019
08:17 PM
|
0
|
0
|
5546
|
|
POST
|
Apologies for the delay in getting back to you. You could try disabling the user interactions until the rotation is complete by setting the AGSMapView.interactionOptions.enabled = false (see this and this). Let me know if that works for you.
... View more
01-08-2019
08:03 PM
|
0
|
0
|
1643
|
|
POST
|
The Runtime does not currently perform any correction on the GPS location returned by iOS. That would be part of a full Navigation experience that is not at present part of the Runtime. You might find the suggestion made here useful. Essentially, create a custom AGSLocationDataSource that is aware of the route result that you've obtained and intelligently snaps the raw GPS locations to the route geometry before returning that modified AGSLocation to the runtime.
... View more
01-07-2019
08:31 PM
|
2
|
0
|
1301
|
|
POST
|
Hey Michael, A couple of things to add to Nimesh's replies: One thing to bear in mind is that the you can export both the regular and "for export" vector tile services. The difference is that the "for export" vector tiles have a smaller (~15Mb vs ~90Mb) set of style resources that are downloaded. The difference is largely in the fonts that are downloaded. "I just thought I'd check this forum to see if anyone else had done one" FWIW, I have in the past built various bare-bones apps with the Runtime SDK to generate and download VTPKs, but they've never been even close to polished. I've used those VTPKs in Pro to generate MMPKs for Runtime use, and have also side-loaded them for direct Runtime app use. Hope that helps, Nick.
... View more
12-30-2018
02:37 PM
|
0
|
0
|
5197
|
|
POST
|
Do you need to perform some action when the user taps while the map is animating to its new rotation, or do you just need to ensure the tap does not stop the rotation?
... View more
12-21-2018
10:30 AM
|
0
|
2
|
1643
|
|
POST
|
If you respond with YES to didTouchDownAtScreenPoint, you are telling the Runtime that you want to handle the entire tap or drag gesture and so Runtime will not make the map track your finger around the screen. You will then receive didTouchDragToScreenPoint delegate events until the drag gesture completes with a single didTouchUpAtScreenPoint event. If you respond with NO to didTouchDownAtScreenPoint (or don't implement the delegate method) then Runtime will handle a drag and move the map to accompany the drag gesture, or handle a tap via the didTapAtScreenPoint. If you just want to detect taps on the map, simply implement the didTapAtScreenPoint delegate method and don't implement didTouchDownAtScreenPoint (or implement it to return NO), didTouchDragToScreenPoint and didTouchUpAtScreenPoint. Let me know if that helps.
... View more
12-19-2018
05:46 AM
|
0
|
4
|
1643
|
|
POST
|
Ah. Most likely featureTable is not loaded. Try something like this: featureTable.load { [weak self] error in
guard error == nil else {
print("Error loading feature table! \(error!.localizedDescription)")
return
}
guard let self = self else { return }
let geom = AGSPointMakeWGS84(40.7128, -74.0060)
let attr = ["Name":"a","Type":"b"]
let feature = self.featureTable.createFeature(attributes: attr, geometry: geom)
self.featureTable.add(feature) { error in
guard error == nil else {
print("Error adding the feature! \(error!.localizedDescription)")
return
}
print("Feature added OK")
}
}
Depending on your app, you could load the layer once up front and enable the UI once it's loaded, or you could follow this pattern each time (if an AGSLoadable object is already loaded, calls to load return immediately).
... View more
12-17-2018
04:04 PM
|
2
|
1
|
1138
|
|
POST
|
Yes. You do not need a map to edit (or even read/query) data. Simply create an AGSServiceFeatureTable that points at your ArcGIS Online layer. You can then follow the pattern described in the Add Features sample. There's no need to create an AGSFeatureLayer from the table to add to a map. Let me know how that works.
... View more
12-17-2018
02:23 PM
|
0
|
3
|
1138
|
|
POST
|
Hi Michael Mueller, One thing to bear in mind is that you need the baseLayer to load before you can read the fullExtent property. You also don't need to construct a new AGSEnvelope from the one you've already got hold of. Simply pass that into the AGSViewpoint constructor. Something like this might be more robust: baseLayer.load() { error in
guard error == nil else {
print("Error loading vector tile layer: \(error!.localizedDescription)")
return
}
if let extent = baseLayer.fullExtent {
map.initialViewpoint = AGSViewpoint(targetExtent: extent)
// Or if the map has already been opened into a mapView
// in which case the mapView may already have read the
// map's "initialViewpoint" property…
// mapView.setViewpoint(AGSViewpoint(targetExtent: extent))
}
}
Cheers, Nick.
... View more
12-17-2018
02:09 PM
|
0
|
0
|
1173
|
|
BLOG
|
Ah. Actually I see that this could be a Maps App issue and that you must have modified the project to use Cocoapods. Please open an issue on the repo and describe in better detail how you've modified the project to use Cocoapods and some more detail about the crash (e.g. stack trace).
... View more
11-07-2018
07:19 AM
|
0
|
0
|
1831
|
|
BLOG
|
This project doesn't use Cocoapods. If this is a general question about Cocoapods and the iOS Runtime SDK, please post the question at here. But this suggestion might be helpful in case your Cocoapods cache has got confused.
... View more
11-07-2018
07:12 AM
|
0
|
0
|
1831
|
|
POST
|
Have you tried setting the AGSArcGISTiledLayer.noDataTileBehavior to .upSample?
... View more
11-01-2018
10:29 AM
|
0
|
0
|
5546
|
|
POST
|
The problem you're seeing is that each AGSArcGISFeature is going out of scope and being deallocated before the async fetchAttachments call is completing. You could try something like this, which uses Swift closure captures to hold a reference to a feature until the fetchAttachments call has completed. func getAttachments() {
let params = AGSQueryParameters()
params.whereClause = "1=1"
table.queryFeatures(with: params, queryFeatureFields: .loadAll) { (results, error) in
guard error == nil else {
print("Error querying features: \(error!.localizedDescription)")
return
}
guard let featureEnumerator = results?.featureEnumerator() else { return }
// Create a Set to store feature references
var featuresHavingAttachmentsFetched = Set<AGSArcGISFeature>()
var i = 0
for result in featureEnumerator {
guard let feature = result as? AGSArcGISFeature else { continue }
// Store the feature reference in the set
featuresHavingAttachmentsFetched.insert(feature)
print("Getting attachments for feature \(i).")
// Call fetch attachments, but also capture `feature` so that it can be removed from the
// set maintaining the reference to it once the attachment fetch completes.
feature.fetchAttachments() { [feature, i] (attachments, error) in
defer {
// Remove the feature reference when this fetchAttachments callback block exits.
// We've held on to it long enough now and don't need it any more.
featuresHavingAttachmentsFetched.remove(feature)
}
guard error == nil else {
print("Error getting attachments for feature \(i): \(error!.localizedDescription)")
return
}
print("Got \(attachments?.count ?? 0) attachments for feature \(i).")
}
i += 1
}
}
}
Cheers, Nick.
... View more
11-01-2018
10:11 AM
|
0
|
0
|
919
|
|
POST
|
Hi Kareem Badr, You should find what you're looking for in the AGSArcGISMapImageLayer. Cheers, Nick.
... View more
10-31-2018
11:53 AM
|
2
|
1
|
1330
|
| 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 |