Is there a way to get the map to continuously scroll without seeing the gray area? As an example, GoogleMaps, MapQuest, etc.. let you scroll left to right without getting to the "end of the world", it just continues to wrap around. I'm trying to avoid seeing the gray when I scroll too far left or right. The feature for WPF will be available with R3 2016 in September.
Many tasks on RadMap require smooth zooming for the better user experience. For example, floor plans or facility layouts. Default zoom increments are too large for those tasks. We should provide a way to make zoom smooth while keeping zoom level as integer value.
Export RadMap to screenshot. WPF: We will add ExportToImage public method for WPF in R1 2017 with option whether to include map objects from Information/VisualizationLayer. SL: There is a Silverlight limitation in WriteableBitmap: https://social.msdn.microsoft.com/Forums/en-US/a5d59a36-ec26-4715-a707-dd0463ff0f46/writeablebitmap-has-protected-content-pixel-access-is-not-allowed?forum=bingmapssilverlightwpfcontrols https://msdn.microsoft.com/en-us/library/system.windows.media.imaging.writeablebitmap%28VS.95%29.aspx?f=255&MSPPError=-2147217396 One partial solution if you use Bing Maps in RadMap is to use the Bing REST Static Map Imagery in order to download Image replicating the current viewport and zoomlevel of the RadMap. Bing REST Static Map => https://msdn.microsoft.com/en-us/library/ff701724.aspx Using Bing REST API with .NET => https://msdn.microsoft.com/en-us/library/jj819168.aspx Available in R1 2017 Official Release Version.
Currently only Mercator projection is supported. We should add support for other projections. Shape file reader should be able process .prj file and setup correspondent projection to the EmptyProvider. The Bing and OpenStreet map providers show map using Mercator projection, so they can't use any other projections to show map shapes (KML or ESRI).
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 : OpenStreetMapProviderCurrently RadMaps Geocode, Search and Route providers are based on SOAP. The Bing Maps discontinue their SOAP services in June 2017. https://blogs.msdn.microsoft.com/rbrundritt/2016/06/22/bing-maps-v8-web-control-released/ The Bing REST Services API (https://msdn.microsoft.com/en-us/library/ff701713.aspx?f=255&MSPPError=-2147217396) includes: - Imagery API -- Imagery metadata (used for downloading image tiles - already implemented in BingRestMapProvider) - Routes API - Location API - Elevations API For R1 2016 we will implement: Routes API which will be replacement of SOAP based BingRouteProvider Locations API which will be replacement of SOAP based BingGeocodeProvider Elevations API which will be new API and has no existing SOAP replacement ================================================================================== Available in R1 2017 Official Release Version.
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.
Implement AzureMaps Provider in RadMap based on the following API https://azure.microsoft.com/en-us/services/azure-maps/
Hi, we use the map control in our application.
We get random KeyNotFoundException in TilesDownloadManager when zooming in...
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. in System.Collections.Concurrent.ConcurrentDictionary`2.get_Item(TKey key) in Telerik.Windows.Controls.Map.TilesDownloadManager.UpdateTileCache() in Telerik.Windows.Controls.Map.TilesDownloadManager.Process() in Telerik.Windows.Controls.Map.TilesDownloadManager.DownloaderThread() in System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) in System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) in System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) in System.Threading.ThreadHelper.ThreadStart()
System.Collections.Generic.KeyNotFoundException in System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].get_Item(System.__Canon) in Telerik.Windows.Controls.Map.TilesDownloadManager.RemoveTile(Telerik.Windows.Controls.Map.TileId) in Telerik.Windows.Controls.Map.TilesDownloadManager.RemoveL1Cache() in System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) in System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) in System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) in System.Threading.ThreadHelper.ThreadStart()
We use OpenStreetMapProvider and don't use tile caching.
When the selection is started on map control then it can be cancelled using the Escape key.
Add the CanvasDark, CanvasLight, CanvasGray, RoadOnDemand and AerialOnDemand modes in the BingRestMapProvider. Currently it supports only Aerial, Road and BirdsEye and their variants with labels. Check the imagerySet parameter here: https://msdn.microsoft.com/en-us/library/ff701724.aspx Ordnance Survey will not be added among with these modes.
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>
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
When the PathData contains Arc segment which looks as vertical half-circle then it is not displayed in VisualizationLayer.