POST
|
Environment: iOS SDK (Swift 3.1) I'm an ESRI neophyte looking at some Swift code. I received a request to correct the numerical value of the posted scale which appears to be too large. How do I determine the unit of mapView.mapScale()? ... feet? ...meters? All I see is a number (without any units).
... View more
07-26-2017
11:01 AM
|
0
|
0
|
358
|
POST
|
It looks like AGSIdentifyLayerResult is passively generated from AGSGeoViewTouchDelegate functions rather than 'on the fly'.
... View more
03-15-2017
01:36 PM
|
0
|
1
|
441
|
POST
|
What is 'AGSIdentifyLayerResult' and how do I acquire it? Examples?
... View more
03-15-2017
10:44 AM
|
0
|
3
|
1046
|
POST
|
I got persistence! I was able to serialize and de-serialize an AGSPolyLine (free sketch): let lineSymbol = AGSSimpleLineSymbol(style: .solid, color: UIColor.red, width: 3) let myPolyLine = UserDefaults.standard.value(forKey: SketchItem.Doodle.desc()) let polyline2 = (try? AGSPolygon.fromJSON(myPolyLine!)) as! AGSPolyline graphicsOverlay.graphics.add(AGSGraphic(geometry: polyline2, symbol: lineSymbol, attributes: nil)) mapView.graphicsOverlays.add(graphicsOverlay) I'll cleanup the code.... but it works. Again, Thanks for your speedy answer!
... View more
03-10-2017
02:08 PM
|
1
|
0
|
930
|
POST
|
Thanks for the speedy reply! I was thinking... Perhaps converting the AGSPolyLine to a Swift Array: doodle.parts.array() as? Array ...where 'doodle' is a free-form sketch of type AGSPolyLine. Then I could transform the Array into a NSData item for serialization. Of course I would have to reverse all this back to AGSPolyLine. ... is this possible? In the meantime, I'll go the JSON route per your example.
... View more
03-10-2017
01:48 PM
|
0
|
0
|
930
|
POST
|
Environment: iOS/Swift 3 Goal: to save a AGSPolyline object within a dictionary for UserDefaults; and retrieve the object back as a AGSPolyline Modus Operandi: storing the AGSPolyline within a dictionary for persistent UserDefault. The following code is my first attempt; it crashes due to the AGSPolyline object not being serialized. I thought I cut use the NSKeyedArchiver, being that AGSPolyline is an NSObject. But it fails with a run-time crash: func storeSketch(doodle:AGSPolyline) { var myDict = [String:AnyObject]() var key = SketchItem.Polyline.desc() let json = doodle.encodeToJSON() let myData = NSKeyedArchiver.archivedData(withRootObject: doodle) myDict[key] = myData as AnyObject? key = SketchItem.Doodle.desc() UserDefaults.standard.set(myDict, forKey: key) return } I believe I need to JSON-SERIALIZE (and JSON-DE-SERIALIZE) my AGSPolyline object (a Geometry object) so I can insert it into my dictionary for UserDefaults storage. How do I do that? What's the syntax? ... or can I transform a AGSPolyline object to a common NSObject (NSData??)... and go from there?
... View more
03-10-2017
01:23 PM
|
0
|
4
|
1812
|
POST
|
Reference: ESRI's Sketch Example: Environment: iOS/Swift 3.0+ I notice that no overlays are used in the sketch, which uses the AGSSketchEditor. However I believe I need the use of a graphics overlay object to display historical sketches. Hence I've added the following: private var myPolyLine:AGSPolyline? private var graphicsOverlay = AGSGraphicsOverlay() 1) Making a copy of the sketch as a 'geometry': @IBAction func clear() { self.myPolyLine = self.sketchEditor.geometry!.copy() as? AGSPolyline self.sketchEditor.clearGeometry() } 2) Restoring the sketch after 'deleting' it: case 3: // ...redraw let lineSymbol = AGSSimpleLineSymbol(style: .solid, color: UIColor.red, width: 3) self.graphicsOverlay.graphics.add(AGSGraphic(geometry: self.myPolyLine, symbol: lineSymbol, attributes: nil)) self.mapView.graphicsOverlays.add(self.graphicsOverlay) I needed to create a graphics overlay to display the copy. I can see the buildup of graphicOverlays. So once I don't need this copy, I should REMOVE this particular overlay. That is, each overlay would contain a previously-copied sketch and hence, I should discard these overlays once not needed. Correct? As for persistent storage: a AGSPolyline is an NSObject so I could serialize it for storage accordingly. Is this the correct way for creating a persistent store of a sketch and handling old sketches via removing the overlays?
... View more
03-09-2017
03:35 PM
|
0
|
1
|
622
|
POST
|
Thanks for the quick response! I'm going to play with this per your directive. Ric.
... View more
03-09-2017
09:52 AM
|
0
|
0
|
622
|
POST
|
Does ESRI have the ability to allow free-form drawing (a.k.a. 'doodling') within a layer? That is, where the user's finger movement is recorded into a path as can be done within iOS's Core Graphics: var simplePath = UIBezierPath() ... etc.? Scenario: I wish to doodle annotations (drawing) on an overlay and be able to store & recover such doodle. How would/could that be arranged?
... View more
03-08-2017
02:34 PM
|
0
|
5
|
1153
|
Title | Kudos | Posted |
---|---|---|
1 | 03-10-2017 02:08 PM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:25 AM
|