public override void GetHtml(HtmlTextWriter writer, int mapId, Models.Model model, string labelId = null, int?height = null, string language = null, Options.DomMonitorTypes domMonitorType = Options.DomMonitorTypes.Javascript) { const string guid = "53031a3b-dc6a-4440-a5e5-5060f691afd6"; var id = nameof(Terratype) + nameof(LeafletV1) + Guid.NewGuid().ToString(); writer.AddAttribute("data-css-files", HttpUtility.UrlEncode(JsonConvert.SerializeObject(new string[] { UrlPath("css/leaflet.css"), UrlPath("css/MarkerCluster.css"), UrlPath("css/MarkerCluster.Default.css") }), System.Text.Encoding.Default)); writer.AddAttribute("data-leafletv1", HttpUtility.UrlEncode(JsonConvert.SerializeObject(model), System.Text.Encoding.Default)); writer.AddAttribute("data-map-id", "m" + mapId.ToString()); writer.AddAttribute("data-dom-detection-type", ((int)domMonitorType).ToString()); if (labelId != null) { writer.AddAttribute("data-label-id", labelId); } writer.AddAttribute("data-id", id); writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); writer.AddAttribute(HtmlTextWriterAttribute.Class, nameof(Terratype) + '.' + nameof(LeafletV1)); writer.RenderBeginTag(HtmlTextWriterTag.Div); if (model.Icon != null && !HttpContext.Current.Items.Contains(guid)) { HttpContext.Current.Items.Add(guid, true); writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/Terratype.LeafletV1.Renderer.js")); writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/leaflet.js")); writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/leaflet.markercluster.js")); writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/tileservers.js")); writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); } writer.AddAttribute(HtmlTextWriterAttribute.Id, id); writer.AddStyleAttribute(HtmlTextWriterStyle.Height, (height != null ? height : model.Height).ToString() + "px"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.RenderEndTag(); writer.RenderEndTag(); }
/// <summary> /// Returns the Html that renders this map /// </summary> /// <param name="model"></param> /// <param name="height"></param> /// <param name="language"></param> /// <param name="label"></param> /// <returns></returns> public override void GetHtml(HtmlTextWriter writer, int mapId, Models.Model model, string labelId = null, int?height = null, string language = null, Options.DomMonitorTypes domMonitorType = Options.DomMonitorTypes.Javascript) { const string guid = "b72310d2-7041-4234-a6c5-6c5761dd708e"; var id = nameof(Terratype) + nameof(GoogleMapsV3) + Guid.NewGuid().ToString(); writer.AddAttribute("data-markerclusterer-url", UrlPath("images/m", false)); writer.AddAttribute("data-googlemapsv3", HttpUtility.UrlEncode(JsonConvert.SerializeObject(model), System.Text.Encoding.Default)); writer.AddAttribute("data-map-id", "m" + mapId.ToString()); writer.AddAttribute("data-dom-detection-type", ((int)domMonitorType).ToString()); if (labelId != null) { writer.AddAttribute("data-label-id", labelId); } writer.AddAttribute("data-id", id); writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); writer.AddAttribute(HtmlTextWriterAttribute.Class, nameof(Terratype) + '.' + nameof(GoogleMapsV3)); writer.RenderBeginTag(HtmlTextWriterTag.Div); if (model.Icon != null && !HttpContext.Current.Items.Contains(guid)) { HttpContext.Current.Items.Add(guid, true); writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/Terratype.GoogleMapsV3.Renderer.js")); writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/markerclusterer.min.js")); writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Src, GoogleScript(model)); writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); } writer.AddAttribute(HtmlTextWriterAttribute.Id, id); writer.AddStyleAttribute(HtmlTextWriterStyle.Height, (height != null ? height : model.Height).ToString() + "px"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.RenderEndTag(); writer.RenderEndTag(); }
public override void GetHtml(HtmlTextWriter writer, int mapId, Models.Model model, string labelId = null, int?height = null, string language = null, Options.DomMonitorTypes domMonitorType = Options.DomMonitorTypes.Javascript) { throw new NotImplementedException(); }
/// <summary> /// Returns the Html that renders this map /// </summary> /// <param name="model"></param> /// <param name="height"></param> /// <param name="language"></param> /// <param name="label"></param> /// <returns></returns> public override void GetHtml(HtmlTextWriter writer, int mapId, Models.Model model, string labelId = null, int?height = null, string language = null, Options.DomMonitorTypes domMonitorType = Options.DomMonitorTypes.Javascript, bool AutoShowLabel = false, bool AutoRecenterAfterRefresh = false, bool AutoFit = false, string Tag = null) { const string guid = "b72310d2-7041-4234-a6c5-6c5761dd708e"; var generatedId = nameof(Terratype) + nameof(GoogleMapsV3) + Guid.NewGuid().ToString(); if (Tag == null) { Tag = generatedId; } writer.AddAttribute("data-markerclusterer-url", UrlPath("images/m", false)); writer.AddAttribute("data-model", HttpUtility.UrlEncode(JsonConvert.SerializeObject(model), System.Text.Encoding.Default)); writer.AddAttribute("data-map-id", mapId.ToString()); writer.AddAttribute("data-dom-detection-type", ((int)domMonitorType).ToString()); if (AutoShowLabel) { writer.AddAttribute("data-auto-show-label", true.ToString()); } if (AutoRecenterAfterRefresh) { writer.AddAttribute("data-recenter-after-refresh", true.ToString()); } if (AutoFit) { writer.AddAttribute("data-auto-fit", true.ToString()); } if (labelId != null) { writer.AddAttribute("data-label-id", labelId); } writer.AddAttribute("data-id", generatedId); writer.AddAttribute("data-tag", Tag); writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); writer.AddAttribute(HtmlTextWriterAttribute.Class, nameof(Terratype) + '.' + nameof(GoogleMapsV3)); writer.RenderBeginTag(HtmlTextWriterTag.Div); if (model.Icon != null && !HttpContext.Current.Items.Contains(guid)) { HttpContext.Current.Items.Add(guid, true); #if DEBUG writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/Terratype.GoogleMapsV3.Renderer.js")); #else writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/Terratype.GoogleMapsV3.Renderer.bundle.min.js")); #endif writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); #if DEBUG writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/markerclusterer.min.js")); writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); #endif writer.AddAttribute(HtmlTextWriterAttribute.Src, GoogleScript(model)); writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); } writer.AddAttribute(HtmlTextWriterAttribute.Id, generatedId); writer.AddStyleAttribute(HtmlTextWriterStyle.Height, (height != null ? height : model.Height).ToString() + "px"); writer.AddStyleAttribute("opacity", "0.01"); writer.AddStyleAttribute("filter", "alpha(opacity=1)"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.RenderEndTag(); writer.RenderEndTag(); }
public override void Render(Guid guid, HtmlTextWriter writer, int mapId, Models.Model model, string labelId = null, int?height = null, string language = null, Options.DomMonitorTypes domMonitorType = Options.DomMonitorTypes.Javascript, bool AutoShowLabel = false, bool AutoRecenterAfterRefresh = false, bool AutoFit = false, string Tag = null) { var generatedId = nameof(Terratype) + nameof(LeafletV1) + Guid.NewGuid().ToString(); if (Tag == null) { Tag = generatedId; } writer.AddAttribute("data-css-files", HttpUtility.UrlEncode(JsonConvert.SerializeObject(new string[] { UrlPath("css/leaflet.css"), UrlPath("css/MarkerCluster.css"), UrlPath("css/MarkerCluster.Default.css") }), System.Text.Encoding.Default)); writer.AddAttribute("data-model", HttpUtility.UrlEncode(JsonConvert.SerializeObject(model), System.Text.Encoding.Default)); writer.AddAttribute("data-map-id", mapId.ToString()); writer.AddAttribute("data-dom-detection-type", ((int)domMonitorType).ToString()); if (AutoShowLabel) { writer.AddAttribute("data-auto-show-label", true.ToString()); } if (AutoRecenterAfterRefresh) { writer.AddAttribute("data-recenter-after-refresh", true.ToString()); } if (AutoFit) { writer.AddAttribute("data-auto-fit", true.ToString()); } if (labelId != null) { writer.AddAttribute("data-label-id", labelId); } writer.AddAttribute("data-id", generatedId); writer.AddAttribute("data-tag", Tag); writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); writer.AddAttribute(HtmlTextWriterAttribute.Class, nameof(Terratype) + '.' + nameof(LeafletV1)); writer.RenderBeginTag(HtmlTextWriterTag.Div); const string addScriptOnce = "53031a3b-dc6a-4440-a5e5-5060f691afd6"; if (model.Icon != null && !HttpContext.Current.Items.Contains(addScriptOnce)) { HttpContext.Current.Items.Add(addScriptOnce, true); #if DEBUG writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/Terratype.LeafletV1.Renderer.js")); #else writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/Terratype.LeafletV1.Renderer.bundle.js")); #endif writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); #if DEBUG writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/leaflet-src.js")); writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/leaflet.markercluster-src.js")); writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/tileservers.js")); writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); #endif } writer.AddAttribute(HtmlTextWriterAttribute.Id, generatedId); writer.AddStyleAttribute(HtmlTextWriterStyle.Height, (height != null ? height : model.Height).ToString() + "px"); writer.AddStyleAttribute("opacity", "0.0"); writer.AddStyleAttribute("filter", "alpha(opacity=0)"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.RenderEndTag(); writer.RenderEndTag(); }
public abstract void Render(Guid key, HtmlTextWriter writer, int id, Models.Model model, string labelId = null, int?height = null, string language = null, Options.DomMonitorTypes domMonitorType = Options.DomMonitorTypes.Javascript, bool AutoShowLabel = false, bool AutoRecenterAfterRefresh = false, bool AutoFit = false, string Tag = null);
/// <summary> /// Returns the Html that renders this map /// </summary> /// <param name="model"></param> /// <param name="height"></param> /// <param name="language"></param> /// <param name="label"></param> /// <returns></returns> public override void GetHtml(HtmlTextWriter writer, int mapId, Models.Model model, string labelId = null, int?height = null, string language = null, Options.DomMonitorTypes domMonitorType = Options.DomMonitorTypes.Javascript, bool AutoShowLabel = false, bool AutoRecenterAfterRefresh = false, bool AutoFit = false, string Tag = null) { const string guid = "af82089e-e9b9-4b8b-9f2a-bed92279dc6b"; var generatedId = nameof(Terratype) + nameof(BingMapsV8) + Guid.NewGuid().ToString(); if (Tag == null) { Tag = generatedId; } writer.AddAttribute("data-model", HttpUtility.UrlEncode(JsonConvert.SerializeObject(model), System.Text.Encoding.Default)); writer.AddAttribute("data-map-id", mapId.ToString()); writer.AddAttribute("data-dom-detection-type", ((int)domMonitorType).ToString()); if (AutoShowLabel) { writer.AddAttribute("data-auto-show-label", true.ToString()); } if (AutoRecenterAfterRefresh) { writer.AddAttribute("data-recenter-after-refresh", true.ToString()); } if (AutoFit) { writer.AddAttribute("data-auto-fit", true.ToString()); } if (labelId != null) { writer.AddAttribute("data-label-id", labelId); } writer.AddAttribute("data-id", generatedId); writer.AddAttribute("data-tag", Tag); writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); writer.AddAttribute(HtmlTextWriterAttribute.Class, nameof(Terratype) + '.' + nameof(BingMapsV8)); writer.RenderBeginTag(HtmlTextWriterTag.Div); if (model.Icon != null && !HttpContext.Current.Items.Contains(guid)) { HttpContext.Current.Items.Add(guid, true); #if DEBUG writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/Terratype.BingMapsV8.Renderer.js")); #else writer.AddAttribute(HtmlTextWriterAttribute.Src, UrlPath("scripts/Terratype.BingMapsV8.Renderer.min.js")); #endif writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Src, BingScript(model)); writer.AddAttribute("defer", ""); writer.RenderBeginTag(HtmlTextWriterTag.Script); writer.RenderEndTag(); } writer.WriteFullBeginTag("style"); writer.Write('#'); writer.Write(generatedId); writer.WriteLine(" .switchSlot.labelToggle {display:none;}"); var provider = model.Provider as Terratype.Providers.BingMapsV8; if (provider.Variety.Basic == false || (provider.Variety.Basic == true && provider.PredefineStyling == "ordnanceSurvey")) { writer.Write('#'); writer.Write(generatedId); writer.WriteLine(" .slot.road {display:none;}"); } if (provider.Variety.Basic == false || (provider.Variety.Basic == true && provider.PredefineStyling != "ordnanceSurvey")) { writer.Write('#'); writer.Write(generatedId); writer.WriteLine(" .slot.ordnanceSurvey {display:none;}"); } if (provider.Variety.Satellite == false) { writer.Write('#'); writer.Write(generatedId); writer.WriteLine(" .slot.aerial {display:none;}"); } if (provider.Variety.StreetView == false) { writer.Write('#'); writer.Write(generatedId); writer.WriteLine(" .slot.streetside {display:none;}"); } if (provider.Variety.Basic == false && provider.Variety.Satellite == false && provider.Variety.StreetView == true) { writer.Write('#'); writer.Write(generatedId); writer.WriteLine(" .streetsideExit {display:none;}"); } if (provider.Breadcrumb.Enable == false) { writer.Write('#'); writer.Write(generatedId); writer.WriteLine(" streetsideText {display:none;}"); } writer.WriteEndTag("style"); writer.AddStyleAttribute(HtmlTextWriterStyle.Height, (height != null ? height : model.Height).ToString() + "px"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.AddAttribute(HtmlTextWriterAttribute.Id, generatedId); writer.AddStyleAttribute("opacity", "0.0"); writer.AddStyleAttribute("filter", "alpha(opacity=0)"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.RenderEndTag(); writer.RenderEndTag(); writer.RenderEndTag(); }
public abstract void GetHtml(HtmlTextWriter writer, int id, Models.Model model, string labelId = null, int?height = null, string language = null, Options.DomMonitorTypes domMonitorType = Options.DomMonitorTypes.Javascript);