MapPath shape doesn't support data binding on the level of the MapPathFigure and MapPathSegment in WPF. This feature is implemented in the new visualization engine -Visualization layer and the bindable wrappers - PathView, PathVigureView, PathSegementView , etc.
Recently OpenStreetMap changed their tile usage policy and require UserAgent string in the web headers for accessing tile.openstreetmap.org tiles.
https://operations.osmfoundation.org/policies/tiles/
As a result, standard open street map mode does not work - no tiles are loaded and "too many requests" error is returned from the server.
RadMap's OpenStreetMapProvider needs API (event, property or similar) for easier set up of UserAgent / Referer / other headers of web requests.
Currently, the workaround is to override the OpenStreetMapProvider like so:
public class CustomOpenStreetProvider : OpenStreetMapProviderIf XML of the KML file is not ordered properly (beautified with tabs and new lines), the AsyncKmlReader doesn't read all shapes.
To work this around, beautify the KML file before passing it to the shape reader.
InformationLayer.GetBestView(...)) method produces incorrect results when working on MapPinPoint items that are part of the information layer. Deleting this item because there is a copy of it here => https://feedback.telerik.com/Project/143/Feedback/Details/88878-map-informationlayer-getbestview-produces-incorrect-results-when-working-on Also please have in mind tha this bug is not reproducible with VisualizationLayer.
Map: DataTemplate is not applied correctly. On second click /zoom in/zoom out the items appear. The issue is not reproducible with Visualization Layer.
The behavior can be observed with the following setups:
new WmsTiledProvider("http://4maps.geo-solutions.it/geoserver/osm/wms")
{
Layers = "osm",
Version = "1.3.0",
Projection = "CRS:84" // WGS84, 1.3.0 Standard compatible
};
and
new WmsTiledProvider("http://4maps.geo-solutions.it/geoserver/osm/wms")
{
Layers = "osm",
Version = "1.1.0",
Projection = "EPSG:4326" // WGS84, 1.1.0 Standard compatible
};
BirdsEye view doesn't work after trying to look at an area which does not contain birds eye imagery data Steps for reproducing: 1. Zoom into area with no birds eye view imagery data. Enable Birds eye view. Verify that no tiles are loaded. 2. Change back to Road view, navigate to an area where you know there is bird's eye view imagery. 3. Zoom into the area. Enable Bird's Eye view a second time: The tiles are not loaded.
When the custom map provider supports levels range other than 1 to 20 then it could affect to tiles downloading performance.
Visualization layers are removed from the RadMap in a moment when MapShapeData objects are being processes (their geometries are processed). This leads to exception in MapShapeData.cs ' SetLogicalWidth method. Available in R2 2017 SP
Map has 2 providers initially - BingMapProvider and Custom Provider A. Runtime we remove A and add B - other custom provider. As a result - the image from bingmapprovider (world continents) is not displayed. As a workaround, users need to clear all providers and then Add BingMapProvider then add provider B.
Polyline object in VisualizationLayer is not updated if you clear its Points collection. The expected behavior is that the Polyline is not visible on the Map. As a workaround, you can remove the PolylineData directly from the Layer. this.layer.Items.Remove(polylineData);
When you have two providers - BingMapProvider and custom TiledProvider - and the map source of the second provider (the custom one) is changed, the updated provider is drawn under the provider defined before it in the Providers collection (the BingMapProvider). To work this around you can call the BingMapProvider's SetMapSource() method after the source of the custom provider is changed. // set the custom provider source bingMapProvider.SetMapSource(bingMapProvider.SupportedSources[0]);
If you update the Location of a map shape data object (for example, EllipseData, PolygonData, ect.) at run-time, while the clustering feature is enabled, the shape disappears.
To work this around, reset the clustering via the IsClusteringEnabled property when the Location changes.
this.ellipseShapeData = new Location(newLatitude, newLongitude);
this.visualizationLayer.ClusteringEnabled = false;
this.visualizationLayer.ClusteringEnabled = true;
I have only seen this once. It's possible this is because I am using multiple maps at the same time. I think it crashed the application, but I do not recall.
System.IO.IOException
HResult=0x80070020
Message=The process cannot access the file 'C:\Users\jasond\AppData\Local\TelerikMapCache\Telerik.Windows.Controls.Map.BingRestRoadOnDemandSource.23x7935x11621' because it is being used by another process.
Source=mscorlib
StackTrace:
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Telerik.Windows.Controls.Map.FileSystemCache.OpenCacheStream(String fileName)
at Telerik.Windows.Controls.Map.FileCacheBase.LoadAsync(String fileName, Action`1 callback)
at Telerik.Windows.Controls.Map.TiledMapSource.GetCachedTileAsync(Int32 tileLevel, Int32 tilePositionX, Int32 tilePositionY, Action`1 callback)
at Telerik.Windows.Controls.Map.MultiScaleTileSource.DownloadTile(TileId tileId)
at Telerik.Windows.Controls.Map.TilesDownloadManager.RequestTile(Int32 requestLevel, Int32 tileX, Int32 tileY, Nullable`1 absTileX)
at Telerik.Windows.Controls.Map.TilesDownloadManager.RequestTop3Levels(Int32 endLevel3)
at Telerik.Windows.Controls.Map.TilesDownloadManager.Process()
at Telerik.Windows.Controls.Map.TilesDownloadManager.DownloaderThread()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
In reference to: https://www.telerik.com/forums/binding-question
This sample project is not exactly the same as my actual project, but has the same issue.
I have multiple maps visible. I have a PolygonData that I want to be visible on both maps. It shows up fine. However, the polygon on the first map will not scale when zooming with the FIRST map. If I zoom with the SECOND map, both polygons will correctly scale.
If I replace PolygonData with my own object (PolygonVM), both polygons always correctly scale.