I need to implement pulse animation which is currently display in current location of esrimap. I need to show this animation in marker. Is there any way to do it?
Thank you for your question! Creating a pulsing marker similar to the "current location" marker is pretty similar to the method outlined here: Make a pulse animation in AGSPictureGraphics
You would create a symbol using a picture marker symbol which is a blue circle, then set up a timer to vary the size. Here's an example using a two simple marker symbol combined into an `AGSCompositeSymbol`; the size of the blue circle is changed when the timer fires:
A rough outline of the code:
var symbolToPulse:AGSSimpleMarkerSymbol!
...
symbolToPulse = AGSSimpleMarkerSymbol(style: .circle, color: .blue, size: 18.0)
let sms2 = AGSSimpleMarkerSymbol(style: .circle, color: .red, size: 12.0)
let compositeSym = AGSCompositeSymbol(symbols: [symbolToPulse, sms2])
pulser = AGSGraphic(geometry: mapPoint, symbol: compositeSym, attributes: nil)
...
timer = Timer.scheduledTimer(timeInterval: 0.1,
target:self,
selector: #selector(updateSize),
userInfo: nil,
repeats: true)
...
let startSize: CGFloat = 18.0
let endsize: CGFloat = 36.0
...
func updateSize() {
var size = symbolToPulse.size + 1.0
if size > endsize {
size = startSize
}
symbolToPulse.size = size
}
Hope that helps!