POST
|
The Runtime will project points in a different SR than the scene to the correct SR. If it's working with what you have, then all is good. The important thing is to always specify a SpatialReference when creating geometries.
... View more
03-24-2022
12:56 PM
|
0
|
0
|
621
|
POST
|
I misspoke in my earlier reply. The spatial reference of the Esri basemaps is `.webMercator`, not `.wgs84`. Sorry if there was any confusion.
... View more
03-24-2022
10:42 AM
|
0
|
1
|
625
|
POST
|
If you are using one of the Esri basemaps, the spatial reference should be `.wgs84`, and the coordinate you sent should be fine as-is. Is there a vertical/altitude component in the data for each point? Those should be in meters if you are creating points for the polygon (the "z" value below): let point = AGSPoint(x: -116.5521466667, y: 33.824821666, z: 300.32, spatialReference: .wgs84()) I'm assuming you're creating AGSPoint s to add to the polygon; you should include a spatial reference for those (like above). So it's just the polygon and points that need the SR specified. As for calibration, you only need to calibrate the map/scene. You are correct, the objects are anchored in the map/scene, sorry for the confusion. For GraphicsOverlays, you don't need to do anything other than create one (or more) of them and add graphics to them. Because the graphics have a geometry, they know where to be drawn. You can add any graphics you want to an overlay, so you really only need one, unless you want to organize different graphics in different overlays to make them easy to manage; up to you. If you want, you can send me some representative data (and which basemap you're using) and I can try placing it in an overlay here. Are you using an elevation source in the scene? Thanks, Mark
... View more
03-18-2022
02:05 PM
|
1
|
0
|
672
|
POST
|
Hello and thank you for your question! Are the object coordinates in the same spatial reference as the base map? Also, are you using an elevation source in your scene and do the coordinates have a `z` (elevation) component? Those are two common problems when displaying external data. Are you able to display the base map data OK? If you're using an elevation source, does the device show you are in the correct vertical position (meaning you're not showing up under the surface of the base data)? Esri has an open-source Toolkit for use with the iOS Runtime SDK. The Toolkit has an AR component you can look at for reference. From the Toolkit doc: The AR toolkit component is comprised of one class: `ArcGISARView`. This is a subclass of `UIView` that contains the functionality needed to display an AR experience in your application. It uses `ARKit`, Apple's augmented reality framework to display the live camera feed and handle real world tracking and synchronization with the Runtime SDK's `AGSSceneView`. The `ArcGISARView` is responsible for starting and managing an `ARKit` session. It uses a user-provided `AGSLocationDataSource` for getting an initial GPS location and when continuous GPS tracking is required. One final note: unless you're using an external, high-accuracy GPS, the device (iPhone/iPad) location/elevation can sometimes only be accurate to 40 meters, so your object and device location may not be where you think. In this case, a calibration step (which is also demonstrated in the Toolkit) may be warranted. Please let us know if you have more questions! Mark
... View more
03-18-2022
08:03 AM
|
1
|
2
|
688
|
BLOG
|
This release includes: - The "Package.swift" file now has instructions on how to use a local installation ArcGIS Runtime SDK for iOS, if desired. - Fixed #156 - PopupController Example: initial size of added attachment images in incorrect. You can find the Toolkit here. See this blog post for information on the SDK release. We hope you enjoy the new release! Let us know what you're building with it.
... View more
12-15-2021
12:04 PM
|
2
|
0
|
431
|
POST
|
@bferrao - it appears to be an issue with the service. The fields below are causing the layer not to load: "typeIdField": "Subtype_Code", "subtypeFieldName": "Subtype_Code", "subtypeField": "Subtype_Code", There is no "Subtype_Code"; instead it should be "Service.Subtype_Code". The main problem wasn't the "Identify" operation, it was that the layer was unable to load (and therefore the Identify operation was never executed on the layer). I'll direct message you with more details. Mark
... View more
10-05-2021
01:22 PM
|
0
|
1
|
1540
|
POST
|
@bferrao Hello, I wanted to follow up and see if you've been able to resolve your issue.
... View more
09-14-2021
08:06 AM
|
0
|
3
|
1522
|
BLOG
|
This release includes: - Updated obsolete documentation links in the AR and Job components. - Updated SwiftLint to remove cocoapods directories from SwiftLint build phase. - Fixed an Xcode 13 Beta build error: `'shared' is unavailable in application extensions for iOS: Use view controller based solutions where appropriate instead.` See #150. You can find the Toolkit here. See this blog post for information on the SDK release. We hope you enjoy the new release! Let us know what you're building with it.
... View more
08-25-2021
03:16 PM
|
1
|
0
|
570
|
POST
|
@Selsoe The following is from a colleague who works with WMS Services: 499 errors are expected to happen over connections that suffer from a load interruption. These are just an internal server code that means that the client has closed the connection before processing the request and receiving the reply. I don’t think there is an authentication issue here. The errors might look worrying but I wouldn’t be alarmed especially that the user application is not affected. So nothing to worry about. Cheers, Mark
... View more
08-12-2021
12:06 PM
|
1
|
0
|
2392
|
POST
|
@Selsoe Thanks for the additional info. I will reach out to my colleagues and see what we can come up with. Mark
... View more
08-12-2021
08:44 AM
|
0
|
1
|
2398
|
POST
|
@Selsoe Take a look at this Esri Technical Support article and let me know if it matches your situation. If it doesn't, can you give some additional information about your service, the type of authentication it uses, etc? Mark
... View more
08-11-2021
06:47 AM
|
0
|
1
|
2414
|
POST
|
@bferrao - I've got some more information. For both of your issues it's hard to really determine what's going on without some more information. It could be that the service is using a "reserved" fieldname that gets changed during the publishing process; in that case, it's possible the renderer wants to use a field that no longer exists, which could generate the error. If you could provide us with either the service URL or JSON containing the service details (specifically the list of fields) we can dig into it further. Thanks, Mark
... View more
08-04-2021
11:14 AM
|
0
|
1
|
1970
|
POST
|
@bferrao - I will get more information that error, but is it possible for you to retest with the latest version of the SDK, which is v100.11? Even if you don't move your production code to 100.11, it would be helpful to see if the issue has been resolved between v100.9 and v100.11. And as with your "load" error question, if you can try an identify with this layer in the AGOL Map Viewer that would help narrow down the cause of the issue. Mark
... View more
08-04-2021
07:15 AM
|
0
|
0
|
1973
|
POST
|
@bferrao - Can you try the layer that gives you the load error in the ArcGIS Online Map Viewer? This will help us figure out if it's an issue with the Runtime or the map service. In the meantime, I'll try and get more information on that error. Thanks, Mark
... View more
08-04-2021
07:13 AM
|
0
|
0
|
1973
|
POST
|
@bferrao - Thank you for your question, hopefully we can come up with a solution for you. There are a couple of things you should check: does the service in question allow Queries? It's unlikely it doesn't, but you should check. Also, is it possible that the results are more than two levels deep in the identifyLayerResult? You are correct in that you need to drill down into the sublayer results, but you're only going one level deep; is it possible the results are another level down? I've written some code which recursively returns a count of identified geoElements. This will drill down to all levels of the sublayer results. extension ViewController: AGSGeoViewTouchDelegate {
func geoView(_ geoView: AGSGeoView, didTapAtScreenPoint screenPoint: CGPoint, mapPoint: AGSPoint) {
// Identify graphics at the tapped location.
mapView.identifyLayers(atScreenPoint: screenPoint,
tolerance: 10,
returnPopupsOnly: false,
maximumResultsPerLayer: 10
) { [weak self] (results, error) in
//check for errors and ensure identifyLayerResults is not nil
if let error = error {
print(error)
return
}
guard let identifyLayerResults = results,
let self = self else { return }
var resultCount:Int = 0
print("identifyLayerResults.count = \(identifyLayerResults.count)")
// Loop through all results and get the count for those.
for identifyLayerResult in identifyLayerResults {
resultCount += self.getIdentifyLayerResultCount(identifyLayerResult)
}
print("result count = \(resultCount)")
}
}
func getIdentifyLayerResultCount(_ identifyLayerResult: AGSIdentifyLayerResult) -> Int {
var resultCount: Int = 0
resultCount += identifyLayerResult.geoElements.count
//process the sublayer results for each layer (e.g. for map image layers)
print("identifyLayerResult.sublayerResults.count = \(identifyLayerResult.sublayerResults.count)")
// Loop through each subLayerResult recursively and get their count.
for subLayerResult in identifyLayerResult.sublayerResults {
resultCount += getIdentifyLayerResultCount(subLayerResult)
}
return resultCount
}
} Definitely double-check the service and the possibility that results are deeper than the first sublayer. Let me know if this doesn't resolve your issue or if you have more questions. Mark
... View more
07-29-2021
09:01 AM
|
0
|
1
|
2026
|
Title | Kudos | Posted |
---|---|---|
2 | 08-19-2024 02:33 PM | |
1 | 05-31-2023 09:26 AM | |
1 | 04-19-2023 08:58 AM | |
1 | 04-07-2023 07:49 AM | |
1 | 03-29-2023 08:01 AM |
Online Status |
Offline
|
Date Last Visited |
08-21-2024
01:16 AM
|