Here maps has the ability to render map tiles with traffic. They include a freemium tier unlike some of the others.
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);
OpenStreetMap provider uses OpenStreetMapSources which have MaxZoomLevel 18.
When Wraparound of the Map is True and you move (with SetView or ZoomLevel + Center properties) the map to zoomlevel > 18 , no tiles are loaded.
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.
WMTS is a standard protocol for delivery of tiles map data - see https://en.wikipedia.org/wiki/Web_Map_Tile_Service It should be possible to write code to understand pretty much any service complying with the specification. It would be good if RadMap could be extended to enable it to understand the WMTS specification and allow WMTS data to be used.
Implement OpenStreetMap search provider. Similar to BingSearchProvider (http://docs.telerik.com/devtools/wpf/controls/radmap/features/search). Currently , to implement location search with OpenStreetMap provider, you can use the Nominatim API: https://wiki.openstreetmap.org/wiki/Nominatim
Currently, when you use the BingRestMapProvider and the BingRestSearchLocationRequest the found locations are formatted using the System.Text.Encoding.Default encoding. This way if the found location contains unsupported characters they won't be shown properly. Introduce a property for the BingRestSearchLocationRequest class that allows you to set the Encoding.
Currently, you can achieve this by using RotateTransform and clipping the container that holds the RadMap control. For example: <Grid RenderTransformOrigin="0.5,0.5" Width="500" Height="500"> <Grid.RenderTransform> <RotateTransform Angle="45" /> </Grid.RenderTransform> <Grid.Clip> <EllipseGeometry Center="250,250" RadiusX="250" RadiusY="250" /> </Grid.Clip> <telerik:RadMap ZoomLevel="6" Center="37, -120"> <telerik:RadMap.Provider> <telerik:OpenStreetMapProvider /> </telerik:RadMap.Provider> </telerik:RadMap> </Grid>
RadMap with Wraparound = True. Custom TiledProvider with custom TileSource is used. GetCachedTile is overridden to get the cached tiles in the local file system. When zooming , endless invocation of GetCachedTile method is performed which leads to increasing of CPU usage.
Add a way to control the pan / zoom animation duration. Currently the properties which control these animation durations are private in MultiScaleImage.cs