|
POST
|
Take a look at the search parameters here. You should be able to use either the access property or the orgid term to build an AGSPortalQueryParameters using queryParametersWithQuery() to pass to the portal.findItems() call. If you use orgid, you can get it from portal.portalInfo.organizationID. Also, since this could return a lot of items, consider paging through the results. Let me know how that goes!
... View more
01-16-2018
06:58 AM
|
1
|
0
|
548
|
|
BLOG
|
In mid-december, just in time for the holidays, we released ArcGIS Runtime 100.2.0 across all supported platforms (which of course includes iOS). It is available for you to download here. This is an exciting release for the entire team because it brings us closer to functional parity with the 10.2.x versions of Runtime and is what we originally envisioned Runtime 100 to be. Here are some highlights: Read and edit Shapefiles Read and edit vector data from GeoPackages Read rasters from GeoPackages Support for multi-layered symbology Time support Display and identify WMS layers Display and identify ENC layers (Electronic Navigational Charts) Create and update mosaic raster datasets On-device GPU based analysis - viewshed and line of sight on the GPU Statistical queries Improved support for geotransformations and custom geotransformations Offline mapping enhancements including Preplanned workflows Support for transactional editing Take a look at our main blog post for more details. Also, at this release we no longer support Xcode 8 or iOS 9 (see the Release Notes for more details). We're already hard at work on 100.3.0 but in the meantime keep an eye out for 100.2.1 which will add a couple of bits of functionality that we couldn't quite get done in time for 100.2.0 (like encrypted ENC layers and support for some older WMS versions).
... View more
01-16-2018
06:46 AM
|
0
|
0
|
672
|
|
POST
|
Thanks for that. This is an issue that we've fixed in version 100. However, that doesn't really help you with version 10.2.5. Are you considering updating to the current Runtime SDK (version 100.x)?
... View more
12-14-2017
01:38 PM
|
0
|
0
|
1892
|
|
POST
|
Looks like the crash happened in Thread 10. Can you provide the stack for that thread please?
... View more
12-13-2017
10:01 AM
|
0
|
0
|
1892
|
|
POST
|
You might try moving your ~/.cocoapods folder out of the way in case it's confused/corrupted by the Cocoapods version update, and doing a fresh "pod install".
... View more
12-04-2017
01:51 PM
|
0
|
0
|
1800
|
|
POST
|
You should use the "rotateEnabled" property of the AGSMapView's "interactionOptions". Seems the Guide documentation is out of date. We'll get it updated. Hope that helps. Nick.
... View more
11-30-2017
04:41 PM
|
0
|
1
|
1169
|
|
POST
|
Have you tried "pod repo update --verbose" to update your local cocoapods repo cache? Failing that, you could try to manually delete the cache folder in ~/Library/Caches/CocoaPods
... View more
11-30-2017
10:02 AM
|
0
|
3
|
1800
|
|
POST
|
Hi, Assuming you have a reference to the AGSMapView named mapView, then if you're using Runtime 100.x, you can use KVO on the map's mapScale property, like this: override func viewDidLoad() {
super.viewDidLoad()
mapView.addObserver(self, forKeyPath: "mapScale", options: [.new, .old], context: nil)
}
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if let mapViewThatChanged = object as? AGSMapView, keyPath == "mapScale" {
print("Map scale changed to \(mapViewThatChanged.mapScale)")
}
} or if you're using Swift 4, it might look like this: private var scaleKvoToken:NSKeyValueObservation?
override func viewDidLoad() {
super.viewDidLoad()
scaleKvoToken = mapView.observe(\.mapScale) { mapViewThatChanged, _ in
print("Map scale changed to \(mapViewThatChanged.mapScale)")
}
}
... View more
11-07-2017
10:34 AM
|
2
|
0
|
811
|
|
BLOG
|
Each of our Example Apps is designed to provide some inspiration for your own. If you’re interested in building your own custom app because one of our off-the-shelf apps isn’t quite right for you, then the Example Apps are a great place to start. With the Maps App for iOS, we show how you might build the foundation of your own ArcGIS Runtime mapping app using Swift. The open source app (which you can download and build from GitHub) highlights fundamental Runtime functionality and showcases some approaches to coding against asynchronous services. It includes a robust internal framework and a modern, decoupled UI. In later posts, we’ll take a look at the UI/UX and what it took to put the app together, but for now let’s take a look at using the app. Search & Geocode To search, simply start typing into the Search Bar at the top of the screen. As you type, you’ll see suggestions appear, and you can either pick a suggestion or search for the text you’ve typed. By default, you can search for places or addresses using the ArcGIS World Geocoder, and the suggestions will prioritize matches close to the center of the map. Reverse Geocode If you tap and hold on the map, you’ll see a magnifier. Use this to pick a point on the map and when you’re done, you’ll get the address of that point. Turn-by-turn Directions Whether you’ve searched or reverse-geocoded, the results panel includes a “Directions” button. Tap this to calculate directions from your current location to the search result. At the top of the screen you’ll see an overview of the entire route, and at the bottom you can see turn-by-turn directions. Just swipe through them and the map will update to display the current step. If you ever want to go back to the entire route, simply tap the route summary at the top of the screen. Note: Since the routing service consumes ArcGIS credits, you'll need to log in to get directions. The ArcGIS Runtime includes a Credentials Cache and by default, if you've already logged in, the Runtime is able to intelligently make use of cached credentials to avoid prompting you for a login. Switch Basemaps The application also allows you to pick from a set of basemaps. If you are logged in to an ArcGIS Organization or to an ArcGIS Portal, then the list of basemaps will reflect those configured for your account. If not, then you'll get to pick from the default ArcGIS basemaps. Browse your Web Maps The last bit of functionality the app provides is the ability to browse and open your Web Maps. When logged in to ArcGIS the Maps App makes use of the Runtime Portal API to query your content and present you with a list of Web Maps. Simply tap one to open it in the app. What did we learn building this functionality? There are some interesting points to consider from all this. Authentication In the case of getting directions and browsing Web Maps, the user must log in. But how should your app behave when the user isn't logged in? When not logged in, we decided to allow the user to search and geocode using the ArcGIS World Geocoding Service (which is free to use, as long as you're not storing the results). But once the user is logged in, the Maps App uses the Portal API to determine which Geocoding Service and Routing Service to use and, as mentioned above, which basemaps to list. Your ArcGIS Organization's Administrator can configure these settings, so it's important that your app reads and honors that configuration. Lastly, consider how a user should be prompted to log in. For the Maps App we opted to make use of the ArcGIS Runtime's integration with OAuth 2.0, which made implementing login really straightforward. iOS Location Permissions It's also important for an iOS app to behave properly if the user hasn't enabled Location Services or has explicitly denied the app access to their location. When possible, asking for directions will get directions from the current location, but if that's not available then the app will get directions from the center of the current map view.
... View more
10-19-2017
07:45 PM
|
0
|
8
|
2171
|
|
POST
|
Hi Chirag, To center the map on the marker, yes, you should use the setViewpointCenter:completion:() method on AGSMapView and display the callout in the completion block to the above method. Since this is a point graphic, you can pass in the graphic's geometry. That'll animate the map view to put the marker in the center. Could you provide more information on the callout display glitch please? Does it happen on both the simulator and the device? I'll try it out here to see if it's something obvious but would be helpful to get more details. Cheers, Nick.
... View more
10-09-2017
07:39 PM
|
1
|
0
|
617
|
|
POST
|
Probably best to post a question like that over on the ArcGIS API for JavaScript space. But if your previous require statement worked, this will work too. Since you're getting started with the APIs, perhaps take a look at the Develop sections of the DevLabs and Hackerlabs (including the 3.x labs).
... View more
06-14-2017
06:14 AM
|
0
|
0
|
1012
|
|
POST
|
There is a free Geometry Service, but in many cases now you do not need it since the 3.x geometryEngine and 4.x geometryEngine can do much of the work in the browser. It's quicker that way and doesn't require a network request. If you still need functionality of the GeometryService, you can find a reference to a hosted GeometryService in the documentation for the GeometryService task (3.x, 4.x). However, I recommend using the geometryEngine where possible. P.S. I'll see if we can get this thread moved to the JS API forum.
... View more
06-14-2017
06:04 AM
|
1
|
0
|
1384
|
|
POST
|
No problem . The following should get you the radius in meters: var radius = geometryEngine.distance(geometry.getCentroid(),geometry.getPoint(0,0),"meters");
... View more
06-14-2017
05:59 AM
|
0
|
0
|
1012
|
|
POST
|
Ah. That's a very different question. You should use Polygon.getCentroid() to get the centerpoint of the circle. Then use Polygon.getPoint(0,0) to get a Point from the circle and use geometryEngine.distance() between the two points to determine the radius. That assumes you used the Draw.CIRCLE type when you call draw.activate(). Please note that you appear to be using the draw-end event and it seems that is deprecated in favor of the draw-complete event.
... View more
06-14-2017
05:44 AM
|
0
|
0
|
1012
|
|
POST
|
You can do the same thing. Use the JavaScript GeometryEngine. See geometryEngine GeodesicBuffer which will give you a circular polygon back around the center point, and you can then use Graphic and GraphicsLayer to add these to your MapView.
... View more
06-13-2017
10:04 PM
|
0
|
2
|
2859
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 12-17-2025 10:12 AM | |
| 1 | 11-05-2025 10:52 AM | |
| 1 | 11-04-2025 08:55 AM | |
| 1 | 11-04-2025 08:38 AM | |
| 1 | 11-01-2025 03:25 PM |