For example the TickMarkCount property. Modifying it, won't update the fill color of the shapes on the map.
A possible solution:
this.MyColorizer.Colorize(visualizationLayer.Items);
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
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 : OpenStreetMapProviderAdd an API to load Dark tiles in the provider.
This mode can be achieved by showing tiles from the Carto Dark tile server.
If 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.
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()
Here maps has the ability to render map tiles with traffic. They include a freemium tier unlike some of the others.
https://developer.here.com/documentation/map-tile/topics/quick-start-map-tile.html
https://developer.here.com/documentation/map-tile/topics/resource-base-tile-intro.html
Unlike Bing Maps, Azure Maps allows for traffic tiles to be rendered over top the standard map tiles. Please bring the traffic layer back with Azure Maps Traffic Tiles!
https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficflowtile
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]);
There is a change in the Open Street Map Cycle and CylcleTransport services and they require an API key. Without it the service will returned tiles with a watermark saying "API KEY REQUIRED". Currently, the OpenStreetProvider doesn't expose a mechanism for providing a key. At this point you can provide a key by creating a custom map provider deriving from OpenStreeMapProvider and also a custom OsmTileMapSource. And override the original URL to use also an API Key. public class CustomOpenStreetMapProvider : OpenStreetMapProvider { public CustomOpenStreetMapProvider() { string sourceKey = (typeof(OpenStreetCycleTransportSource)).FullName; this.MapSources[sourceKey] = new CustomOpenStreetCycleTransportSource("your api key here"); } } public class CustomOpenStreetCycleTransportSource : OsmTileMapSource { private static string UrlFormat = @"http://{prefix}.tile.thunderforest.com/transport/{zoom}/{x}/{y}.png?apikey={apikey}"; private string apiKey; public CustomOpenStreetCycleTransportSource(string apiKey) : base(UrlFormat) { this.apiKey = apiKey; } protected override Uri GetTile(int tileLevel, int tilePositionX, int tilePositionY) { Uri originalUri = base.GetTile(tileLevel, tilePositionX, tilePositionY); string newUri = originalUri.OriginalString.Replace("{apikey}", this.apiKey); return new Uri(newUri); } } <telerik:RadMap> <telerik:RadMap.Provider> <local:CustomOpenStreetMapProvider/> </telerik:RadMap.Provider> </telerik:RadMap>
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.