|
POST
|
I'd have to join your organization to get access to it then. The best way to do it is for you to invite me to your org (my email id is dgoyal@esri.com) and then you can remove me once we're done
... View more
04-11-2017
10:28 AM
|
0
|
0
|
1349
|
|
POST
|
We do plan to allow you to turn off the space/stars around the planet in a future release for the scenario you describe, but I cannot provide a definite timeline for it yet. In the mean while, look at Mark's suggestion about making the whole view transparent - that could work as long as you don't want to display graphics or features in the scene on top of the feed.
... View more
04-06-2017
03:39 PM
|
0
|
1
|
1519
|
|
POST
|
We will introduce the capability to set a background grid in the next release, but you won't be able to make the whole view transparent. The background grid in the context of a sceneview only applies to the planet - if you make it transparent then you will see the stars on the other side. It won't make the UIView underneath the sceneview visible
... View more
03-31-2017
02:09 PM
|
1
|
4
|
1519
|
|
POST
|
Olivier - Are you able to share your data so that we can investigate? You can email me if you want to send the info privately. There could be some issues on iOS as 3D capabilities were only in beta at v100.0. Can you try the same data in a mac app and see if it works better? The runtime code is exactly the same for iOS or mac.
... View more
03-28-2017
02:19 PM
|
0
|
0
|
1349
|
|
POST
|
So far, it seems to be a race condition when interacting with the map while the map is downloading. I can reproduce it pretty easily by quickly moving the map around while the map is loading. Performing the same interactions after the map is loaded (2-3 seconds later) does not seem to crash the app. There was a known issue with vector tiles that prevented users from using the map reliably before all the tiles in view were rendered. This has been fixed for the upcoming release.
... View more
03-23-2017
11:00 AM
|
0
|
0
|
1179
|
|
POST
|
We don't have any plans to fix this in 10.2.x. We made a number of changes to our networking stack in v100.0 and this was fixed as part of that larger effort. You can contact Esri Support to request a patch for 10.2.x but upgrading to v100 will probably be the fastest way to proceed
... View more
03-20-2017
11:58 AM
|
1
|
0
|
1876
|
|
BLOG
|
A short while ago we released the next generation of ArcGIS Runtime SDKs for iOS, macOS, Android, Java, Qt and .Net. It is the first time we were able to release all the SDKs at the same time and with the same set of functionality. This was possible because the Runtime SDKs were rebuilt from the ground up using a completely new architecture and introduce a number of new concepts, patterns, and capabilities that are common to all the SDKs. We're very excited for you to try out this latest version (v100.0) and you can read more about its new and notable features in the Release Notes. Background Version 100.0 has a number of changes from the previous 10.x line of releases, far too many to compile an exhaustive list, but in this post I will provide an overview of some of those changes so that it can guide your migration efforts. The changes were necessary to accommodate an ambitious agenda of new capabilities such as visualizaiton of 3D scenes, direct read and processing of local rasters, new data formats such as mobile map packages and vector tiles, and many more yet to come, but most importantly, to more closely unify all the different SDKs to have a common conceptual design and similar programming patterns to help many of you who are involved in building apps on multiple development platforms. Before you migrate Eventhough v100.0 is packed with a lot of new capabilities, unfortunately it does not provide all the functionality that was available with 10.2.x at this time. We are working hard to add the missing pieces with subsequent releases and our goal is to achieve full functional parity later this year. So before you begin migrating existing apps to v100.0, you should refer to choosing the right version to see if the current release contains all the functionality your existing apps require. If not, don't worry. We have extended the support lifecycle for version 10.2.x so that you can continue to use it until equivalent functionality is available in the latest releases. Overview of changes Web Map AGSWebMap and its related classes that used to represent a web map have been removed. A web map is now represented by AGSMap which can have a variety of sources. This makes working with maps simple and consistent regardless of where it originates from, be it on a remote ArcGIS portal, inside a mobile map package (.mmpk file) on disk, or even it is only in memory that has been programmatically created by combining layers and a basemap. Layers In general, layers do not automatically load their metadata asynchronously and they no longer have a delegate (AGSLayerDelegate) that is notified when the layer is initialized or when it fails to load. Rather, layers now follow the loadable pattern (AGSLoadable) that is used to explicitly load their metadata and monitor their load status. Refer to the loadable pattern topic for more information. AGSDynamicMapServiceLayer has been renamed to AGSArcGISMapImageLayer. Sublayer visibility is now controlled by removing or adding sublayers to the mapImageSublayers array. AGSTiledServiceLayer and AGSLocalTiledLayer have been combined into a single AGSArcGISTiledLayer that can display tiles from a remote ArcGIS Tile Service or a local tile cache (AGSTileCache). AGSFeatureLayer no longer connects directly to a feature service. Rather, it requires a feature table which contains the feature data to be displayed by the layer. The query and editing capabilities of the layer are now performed on the table instead. For offline scenarios, you can use an AGSGeodatabaseFeatureTable that represents data in a local geodatabase on disk, and for connected scenarios, you can use an AGSServiceFeatureTable which represents the feature data in a remote feature service. For cases when the data exists only in the app in memory and not on disk or in a remote service, you can use AGSFeatureCollectionTable. AGSImageServiceLayer, AGSWMTSLayer, and AGSWMSLayer have been removed. They are being considered for a future release. Map View You can no longer add layers directly to the mapview. Instead, layers need to be added to a map which is then set on the mapview. To display graphics, you need to add a graphics overlay to the mapview containing those graphics. These graphics are displayed on top of all other map layers. To programmatically navigate the mapview, you need to change its viewpoint using setViewpoint...() methods. AGSMapViewDidEndZoomingNotification and AGSMapViewDidEndPanningNotification notifications have been removed. To be informed when a user pans or zooms the maps, you can register a block with the viewpointChangedHandler. To control which gestures and interactions are supported by the mapview, you can change its interactionOptions settings. To be notified about touch events on the mapview, you need to set a touch delegate on the mapview. This delegate must conform to the AGSGeoViewTouchDelegate protocol which is a replacement of the previous AGSMapViewTouchDelegate protocol. The new delegate methods are similar to the old ones but there are some minor name changes. You must implement these delegate methods with the correct signatures to be sure they are invoked. Also, the touch events no longer automatically return the graphics or features that were hit-tested at the touch location. You need to manually perform the hit-testing in the touch event handler using identifyGraphicsOverlay...() or identifyLayer...() methods on the mapview. AGSMapViewLayerDelegate has been removed. As a replacement for mapViewDidLoad() delegate method, you can monitor the mapview's spatialReference property to know when it is fully initialized to display its map contents. The other delegate methods are no longer relevant as the mapview does not perform automatic hit-testing of features/graphics on touch events as described above. AGSMapViewCalloutDelegate has been removed. The mapview no longer automatically displays or dismisses the callout when a user taps on graphics or features the map. You are responsible for displaying and dismissing the callout by listening to the touch events. Callout The mapview no longer automatically displays or dismisses the callout when a user taps on graphics or features on the map. You are responsible for displaying and dismissing the callout by listening to the touch events and hit-testing for graphics or features using identifyGraphicsOverlay...() or identifyLayer...() methods on the mapview. AGSHitTestable, AGSInfoTemplateDelegate and AGSLayerCalloutDelegate have also been removed for the same reason. Graphics Graphics Layer (AGSGraphicsLayer) has been replaced by Graphics Overlay (AGSGraphicsOverlay`). Graphics need to be added to a graphics overlay instead of a graphic layer. Graphics Overlays display graphics on top of all other layers in a map. They cannot be interleaved with other layer like was the case with Graphics Layers. If you want to interleave your own data with the map layers, consider using a feature collection layer (AGSFeatureCollectionLayer) instead of graphics overlays. A feature collection layer displays data in a feature collection which contains features organized into individual feature collection tables. You can create one of these feature collection tables in memory and add your feature data to it. Sketch Sketch Layer (AGSSketchGraphicsLayer) has been replaced by Sketch Editor (AGSSketchEditor). A sketch editor needs to be set on the mapview and then started to begin creating or modifying a sketch. The AGSSketchGraphicsLayerGeometryDidChangeNotification notification has been replaced with AGSSketchEditorGeometryDidChangeNotification Geometries Mutable geometries (AGSMutablePoint, AGSMutableEnvelope, AGSMutablePolygon, AGSMutablePolyline, AGSMutableMultipoint) have been replaced with geometry builders - AGSPointBuilder, AGSEnvelopeBuilder, AGSPolygonBuilder, AGSPolylineBuilder, AGSMultipointBuilder. Instance methods on geometry engine (AGSGeometryEngine) have been changed to static class methods. Tasks Geodatabase Sync Task (AGSGDBSyncTask) has been renamed to AGSGeodatabaseSyncTask. Also, the asynchronous operations to generate new a geodatabase and sync an existing geodatabase now return a job handle (AGSGenerateGeodatabaseJob, and AGSSyncGeodatabaseJob) to represent the execution on the service. The job has to be explicitly started to initiate the processing on the service and it also provides the results of the execution in the completion block. Export Tile Cache Task (AGSExportTileCacheTask) also returns a job handle (AGSExportTileCacheJob, and AGSEstimateTileCacheSizeJob) for the asynchronous operations to generate a tile cache and estimate the tile cache size. The job has to be explicitly started to initiate the processing on the service and it also provides the results of the execution in the completion block. Geometry Service Task (AGSGeometryServiceTask) has been removed. Use AGSGeometryEngine instead. Query Task (AGSQueryTask) has been removed. Use the query...() methods on AGSServiceFeatureTable instead. Identify Task (AGSIdentifyTask) has been removed. Use identifyGraphicsOverlay...() or identifyLayer...() methods on AGSMapView instead. Locator (AGSLocator) has been renamed to AGSLocatorTask. AGSLocatorDelegate has been removed and replaced with completion blocks on the locator task's asynchronous operations that previously required the delegates. AGSRouteTaskDelegate has been removed and replaced with completion blocks on the route task's asynchronous operations that previously required the delegates. Geoprocessor (AGSGeoprocessor) has been renamed to AGSGeoprocessingTask. The asynchronous operations to perform the geoprocessing function returns a job handle (AGSGeoprocessingJob). The job has to be explicitly started to submit it to the service and it also provides the results of the execution in the completion block. The AGSGeoprocessorDelegate has been removed and replaced with completion blocks on the job's asynchronous operations. Find Task (AGSFindTask), Closest Facility Task, (AGSClosestFacilityTask), Service Area Task (AGSServiceAreaTask) have been removed. They are being considered for a future release. Portal The following delegates have been removed - AGSPortalDelegate, AGSPortalGroupDelegate, AGSPortalInfoDelegate, AGSPortalItemDelegate, AGSPortalUserDelegate. They have been replaced with completion blocks on the corresponding asynchronous operations that required the delegates. AGSPortal, AGSPortalItem, and AGSPortalUser classes implement the loadable pattern (AGSLoadable) which means they must be loaded for their information to be available. The following notifications have been removed. The AGSLoadable protocol provides mechanisms to monitor the loadStatus of AGSPortal - AGSPortalDidLoadNotification - AGSPortalDidFailToLoadNotification Authentication Performing authentication has been re-architected around a central authentication manager (AGSAuthenticationManager) that issues challenges (AGSAuthenticationChallenge) when a resource (such as a layer or a task) attempts to access a secure service. Additionally, the SDK contains an in-built challenge handler that tries to resolve the challenge by displaying UI to solicit user details, but developers can choose to customize this behavior and handle challenges themselves by providing a delegate (AGSAuthenticationManagerDelegate). AGSOAuthLoginViewController has been removed. To support oAuth based authentication in your app you need to set the app's oAuth configuration (AGSOAuthConfiguration) on AGSAuthenticationManager. The configuration includes, among other things, a redirectURL which must use a custom URL scheme for the app. This will allow the user to sign in using an external Safari browser which offers more security as compared to performing the authentication in app. When the user finishes logging in through Safari, the app will be invoked and passed the credentials to access the resource. You will need to use AGSApplicationDelegate to handle this app invocation and complete the oAuth authentication workflow. Licensing Like earlier, you have access to all the capabilities during development and testing, however the licensing model for deployment has changed to include 4 levels - Lite, Basic, Standard, and Advanced where each level unlocks a different set capabilities. You can license your app either by using a license key or a by logging into a portal with a named user. More details are available in the License your app topic. Additional resources The information above provides a high level overview of the changes between version 10.2.x and 100.0, but as you embark on migrating your apps, you may find yourself deep in the weeds needing more fine-grained, detailed information about how to change references to classes, methods or properties that have changed and no longer compile. We know that many of you borrow heavily from the SDK samples or use them as a starting point and build on it. So to ease your migration path a little and provide more detailed information, we've ported the most popular 10.2.x samples to the latest version of the SDK. You can download the diff and open it in Safari to see a simple side-by-side comparison of what code needed to be changed. The diff is searchable in Safari so you can look for specific classes, methods, or properties and quickly find the corresponding changes. We've also made the ported samples available for download in a branch on GitHub. We hope this post is useful as you migrate to 100.0. Feel free to reach out to the community on the Geonet forum for any questions or to share your experience, we'll be watching that space and there to help you along the way.
... View more
02-23-2017
09:22 PM
|
2
|
0
|
2602
|
|
POST
|
Currently, there is no way to set up your own labeling properties on the client, although we do plan on supporting that workflow in the future. At this time, the runtime only honors the labelling setting on the service or in a local package. I would expect the labellingInfo object to be populated accordingly. Can you point me to your service so that we can take a look at what might be going wrong? Having said that, labels on feature layers aren't enabled by default, even if labels are defined on the service. You have to explicitly enable them on the client using the `AGSFeatureLayer#labelIsEnabled` property
... View more
01-25-2017
10:51 AM
|
0
|
0
|
1107
|
|
BLOG
|
Want to test drive the latest capabilities of ArcGIS Runtime but don't have a developer setup ready to go? Ever wish you could see the technology in action before you roll up your sleeves and dive in? You're in luck. We're excited to announce that the samples for ArcGIS Runtime SDK for iOS are now available on Apple's App Store. Download the app on your iPhone or iPad and explore the samples to get a first hand experience of the functionality that is available for you to incorporate into your own custom apps. Browse the code behind each sample from within the app and see how easy it is to use the SDK. The app is entirely developed in Swift and the source code is available on GitHub Samples are organized into the following categories - + Maps - Open, create, interact with and save maps + Layers - Layer types offered by the SDK + Features - Work with Feature layers and geodatabases + Edit Data - Add, delete and edit features and attachments + Display Information - Display graphics, popups, callouts, and sketches + Search - Find an address, place, or point of interest + Geometry - Create geometries and perform operations + Route & Navigation - Find a route around barriers + Scenes - Display scenes, 3D symbols, and scene layers More categories and samples will be added with future updates. Stay tuned!
... View more
01-23-2017
10:00 PM
|
6
|
0
|
2345
|
|
POST
|
Hi, we have ported the most popular and commonly used 10.2.5 objective-c samples to use the latest version of the SDK. These include - Custom Callout Sample Download Tile Cache Sample Feature Layer Editing Sample Geocoding Sample Graphics Sample Identify Task Sample License By Org Account Sample OAuth Login Sample Offline Feature Editing Sample Offline Geocoding Sample Offline Routing Sample Popup Sample Query Task Sample Routing Sample Sketch Layer Sample Switch Basemap Sample You can find these samples in the 10.2.5-to-quartz branch To see the code changes that were needed to port these samples to the latest version of the SDK, you can view this diff which also serves a good reference to help you migrate your own code to the latest SDK. Let us know if there are any other 10.2.5 samples you would like to see ported. We will also be providing more migrating resources in the coming days. Going forward we only plan to provide new samples in Swift as that is the direction the Apple developer community is heading in and it is just too much overhead to do everything twice - we have very ambitious goals to provide many more new samples, example apps, and other code resources which we won't be able to accomplish unless we prioritize ruthlessly. But the SDK continues support app development in both Swift and Objective-C. Hopefully the Swift samples give you enough information on how to use the API in Objective-C too, and also the Guide documentation will continue to have both Swift and Objective-C snippets to help you get started.
... View more
12-07-2016
01:18 PM
|
1
|
4
|
1642
|
|
POST
|
I do not know for sure, that is a question for Apple, but I've read that many app developers just can't get away from using plain HTTP connections and so they might need to justify those exceptions when they submit their app for review. Based on that justification, Apple would decide. Esri & ArcGIS Online servers already support the latest HTTPS technologies so you don't need to add any exceptions to connect to those domains, but you need to decide independently for other domains that your app connects to.
... View more
12-01-2016
11:28 AM
|
0
|
1
|
855
|
|
POST
|
There isn't a direct replacement at this time unfortunately. We hope to have something similar in a future release. In the meantime, you could set a min/max scale on the map to prevent the mapview from zooming in or out too far, but this won't limit the area the user could pan to. You could try listening to changes to the mapview's viewpoint or visibleArea, and then reset the viewpoint back to your maxEnevelope if the user pans out of it, but it may not provide the best U/X
... View more
11-30-2016
02:06 PM
|
2
|
0
|
1166
|
|
POST
|
This is fixed with the latest version of the SDK (v100.0)
... View more
11-29-2016
09:15 AM
|
0
|
0
|
492
|
|
POST
|
Yes, we plan to support sending the oAuth details through headers instead of URI params in a future release.
... View more
11-28-2016
02:06 PM
|
0
|
0
|
1521
|
|
POST
|
Rami, This is not a bug. AGSArcGISMapImageLayer does not support Image Services. It only supports dynamic Map Services. We do plan to add support for Image Services in a future release, but it didn't unfortunately make it into version 100.0 For more information about functional parity between 10.2.5 and 100.0, you can refer to Choosing the right version | ArcGIS for Developers
... View more
11-28-2016
01:57 PM
|
0
|
0
|
1289
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | a month ago | |
| 1 | 10-01-2024 12:36 PM | |
| 1 | 05-10-2024 02:32 PM | |
| 1 | 07-10-2023 11:12 AM | |
| 1 | 06-15-2023 09:59 AM |
| Online Status |
Offline
|
| Date Last Visited |
3 weeks ago
|