Select to view content in your preferred language

No Identify-action when using magnifier on Android and IOS

192
5
a month ago
Labels (3)
MarkusLackinger
Occasional Contributor

When using the "Magnifier" tool, no identify or zoom is performed after releasing. No event is triggered anywhere. I'm able to pan the map with magnifier. This behavior occurs on both Android and iOS. 

Is it possible to use magnifier for zooming and identify? in QT-SDK was it 😉

I am using this code to activate magnifier. 

myMapView.InteractionOptions = new MapViewInteractionOptions
{
IsEnabled = true
};

 

 Any ideas how to implement magnifier for identify? thanks.

0 Kudos
5 Replies
MichaelDavis3
Frequent Contributor

Hi Marcus - I don't think that's enough information for MapViewInteractionOptions to do what you want.  You probably need to be explicitly configuring items within it and passing a new MapViewInteractionOptions object with only IsEnabled = true might be unintentionally disabling a lot of functionality.  

Maybe try something like

myMapView.InteractionOptions = new MapViewInteractionOptions
{
IsMagnifierEnabled = true
};

 And then make sure you have something in GeoViewTapped to actually do the identify:
https://developers.arcgis.com/net/api-reference/api/net/Maui/Esri.ArcGISRuntime.Maui.GeoView.GeoView...

0 Kudos
dotMorten_esri
Esri Notable Contributor

I'm not quite following your expectations here, since identify operations aren't a built-in gesture.
Identify is a MapView operation you need to call in your custom code given an event, like for instance "tap". 

0 Kudos
MarkusLackinger
Occasional Contributor

Hi everyone! 
I probably didn't express myself clearly enough. Identifying features on the map when I tap it works perfectly. However, when the magnifier is already active and visible, and then lift my finger from the map, no GeoViewTabbed-event is triggered.

Here's a brief outline of my implementation:

myMapView.InteractionOptions = new MapViewInteractionOptions
{
      IsMagnifierEnabled = true
};

… 
myMapView.GeoViewTapped += MapTapped;
…

private async void MapTapped(object sender, GeoViewInputEventArgs e) 
{
      …
            Identify(e.Position);
      …
}

private async void Identify(Point pos) {
      …
      IReadOnlyList<IdentifyLayerResult> identifyResults = await myMapView.IdentifyLayersAsync(pos, 15, false);
      …
}

 

 

0 Kudos
dotMorten_esri
Esri Notable Contributor

and then lift my finger from the map, no GeoViewTabbed-event is triggered.

That's correct, since that isn't a tap-gesture (it's a hold + drag gesture)

0 Kudos
MarkusLackinger
Occasional Contributor

But for GeoView there is no hold+drag gesture.
Can this be done otherwise or will esri implement this event in future?

0 Kudos