This worked for me. When I only have a point feature, I create an envelope around it. I don't add the envelope to the map but zoom to the envelope instead of to the feature.
For my data, a 3 metre cube worked, but for other data it might work better with a bigger or smaller box size.
I add a bookmark because it is the only way to return to the zoomed in view, since the enveloping box is not stored anywhere.
Envelop SetEnvelope(MapPoint point) {
double boxsize = 3.0;
Debug.WriteLine($"Create a {boxsize}m box around point");
Envelope env = EnvelopeBuilder.CreateEnvelope(point, point).Expand(boxsize, boxsize, false);
return env
}
extent=SetEnvelope(point);
if ((extent != null) && (extent.IsEmpty == false))
{
await mapView.ZoomToAsync(extent);
mapView.Map.AddBookmark(mapView, $"View of Point {point}", "Description");
}
else {
// just zoom to the feature or zoom to layer
}