I'm using marker to show text with polygon. This seems to work ok.
Is there possibility to resize the text when zooming the map? When zooming out, text shows smaller and when zoomin in, text size is bigger
Here's the code which shows the example text.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <telerik:RadStyleSheetManager ID="RadStyleSheetManager1" runat="server" /> <style type="text/css"> .RadMap .k-marker::before, .RadMap .k-marker-Pin-target::before, .RadMap .k-marker-pin-target::before { content: none !important; } .RadMap .k-marker { text-shadow: none !important; } .k-map.RadMap .k-marker { width: auto !important; height: auto !important; text-shadow: none; padding: 0; background-image: none; cursor: default; margin: -11px 0 0 -2px !important; color: black !important; } </style></head><body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> <Scripts> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" /> </Scripts> </telerik:RadScriptManager> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> </telerik:RadAjaxManager> <telerik:RadCodeBlock runat="server"> <script type="text/javascript"> var shapeData = [{ "type": "Feature", "properties": { "object": "seat", "num": 2, "marker": { "title": "LONG MESSAGE TEXT", "location": [4, 3] } }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 29.102396965026852, 62.7612086158975 ], [ 29.109349250793457, 62.7612086158975 ], [ 29.109349250793457, 62.762092508522215 ], [ 29.102396965026852, 62.762092508522215 ], [ 29.102396965026852, 62.7612086158975 ] ] ] } } ]; function shapeCreated(e) { try { if (e.shape.dataItem.properties["marker"]) { var map = e.sender; var marker = e.shape.dataItem.properties.marker; // make sure a custom shape title is added, so that the custom code could affect only these markers // note that this affects the selector which customizes the markers (see the RenderTextNode function below) marker["shape"] = "text-label"; // add the custom marker to the markers collection var markerElement = map.markers.add(marker); // // render the shape label var markerElm = markerElement.element; // // get the dynamically added title attribute and add it as text to the span element var markerTitle = markerElm.attr("title"); markerElm[0].style.fontSize = "22px;" markerElm.text(markerTitle); var tooltip = markerElm.data("kendoTooltip"); tooltip.destroy(); } } catch (err) { alert(err); } } function OnInitialize(sender, args) { var originalOptions = args.get_options(); originalOptions.layers[1].dataSource = { data: shapeData }; args.set_options(originalOptions); } </script> </telerik:RadCodeBlock> <div style="width: 100%; height: 100%;"> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" MinDisplayTime="500"> </telerik:RadAjaxLoadingPanel> <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server"> <asp:HiddenField runat="server" ID="HiddenGeoJSON" /> <telerik:RadMap runat="server" ID="RadMap2" Zoom="8" LayersDataSourceID=""> <ClientEvents OnInitialize="OnInitialize" OnShapeCreated="shapeCreated" /> <CenterSettings Latitude="5" Longitude="5" /> <LayerDefaultsSettings> <ShapeSettings> <StyleSettings> </StyleSettings> </ShapeSettings> </LayerDefaultsSettings> <LayersCollection> <telerik:MapLayer Type="Tile" UrlTemplate="http://a.tile.opencyclemap.org/transport/#= zoom #/#= x #/#= y #.png"> </telerik:MapLayer> <telerik:MapLayer Type="Shape"> </telerik:MapLayer> </LayersCollection> </telerik:RadMap> </telerik:RadAjaxPanel> </div> </form></body></html>Regards,
Auvo
