Hi,
According to https://developers.arcgis.com/net/license-and-deployment/license/#licensing-capabilities I can "Viewing KML data accessed as a web resource (for example, via an http or https link)." with my Lite license.
So following this example https://community.esri.com/t5/net-maps-sdk-questions/best-way-to-display-overlay-an-image-onto-a-2d-... I've created the following test in my Windows WPF .NET 7 app with ArcGIS v200 installed via NuGet:
var img = new Uri("http://mydomain.com/my.png", UriKind.Absolute);
var overlayImg = new KmlIcon(img);
overlayImg.RefreshMode = KmlRefreshMode.OnChange;
overlayImg.ViewRefreshMode = KmlViewRefreshMode.Never;
var overlay = new KmlGroundOverlay(fullArea, overlayImg); // fullArea is an Esri.ArcGISRuntime.Geometry.Envelope
var dataset = new KmlDataset(overlay);
await dataset.LoadAsync();
var layer = new KmlLayer(dataset);
_mapView.Map!.OperationalLayers.Add(layer);
According to @MichaelBranscomb this should work (see https://community.esri.com/t5/net-maps-sdk-questions/do-arcgis-runtime-net-license-levels-restrict/t...)
But it doesn't. I get the LoadError="unlicensed feature".
To make sure my code works I removed my Lite-license and the image shows successfully.
Can anybody tell me if this is a bug in the license check of the Runtime or if I violate any other license with this?
Thanks
Soko
Solved! Go to Solution.
Lite license specifies:
> Viewing KML data accessed as a web resource
The key here is "as a web resource".
Under Standard license you'll find:
> View, create, edit, and save KML data stored as a local file.
You are creating a kml dataset in the above example, thus requiring standard.
Lite license specifies:
> Viewing KML data accessed as a web resource
The key here is "as a web resource".
Under Standard license you'll find:
> View, create, edit, and save KML data stored as a local file.
You are creating a kml dataset in the above example, thus requiring standard.
Hi,
Thanks for the quick reply. Thats a small and fine difference for a beginner like me as I thought the "data" of the kml is the web-url-image and therefore it should work. But the article talks about the KmlData class. Thanks for pointing it out 🙂. I
So to sum it up:
This is the problem
var layer = new KmlLayer(dataset);
With a Lite license I can to this:
var layer = new KmlLayer(new Uri(http://mydomain.com/my.kml));
But I cannot do this:
var layer = new KmlLayer(new Uri("C:\\my.kml));
Correct?
Hi,
That's correct - it follows the pattern of accessing other OGC services (WMS, WMTS, etc).
Thanks