protected virtual void WriteHtml(HtmlTextWriter writer) { if (writer == null) { throw new ArgumentNullException("writer"); } IHtmlNode rootTag = builder.Build(); rootTag.WriteTo(writer); var languaje = (Culture != null) ? "&language=" + Culture.TwoLetterISOLanguageName : String.Empty; var key = (ApiKey.HasValue()) ? "&key=" + ApiKey : String.Empty; var visualization = Layers.Any(l => l.GetType() == typeof(HeatmapLayer)) ? "&libraries=visualization" : ""; var isAjax = builder.ViewContext.HttpContext.Request.IsAjaxRequest() ? "&callback=executeAsync" : ""; var version = (String.IsNullOrWhiteSpace(Version)) ? "" : ("v=" + Version); var mainJs = String.Format("https://maps.googleapis.com/maps/api/js?{0}{1}{2}{3}{4}", version, key, languaje, visualization, isAjax); ScriptFileNames.Add(mainJs); if (EnableMarkersClustering) { ScriptFileNames.Add("markerclusterer.js"); } if (Markers.Any(m => m.Window != null)) { //Build Container for InfoWindows IHtmlNode infoWindowsRootTag = new HtmlElement("div") .Attribute("id", String.Format("{0}-InfoWindowsHolder", Id)) .Attribute("style", "display: none"); Markers.Where(m => m.Window != null).Each(m => { IHtmlNode markerInfoWindows = new HtmlElement("div") .Attribute("id", String.Format("{0}Marker{1}", Id, m.Index)) .AddClass("content"); m.Window.Template.Apply(markerInfoWindows); infoWindowsRootTag.Children.Add(markerInfoWindows); }); infoWindowsRootTag.WriteTo(writer); } }
protected virtual void WriteHtml(HtmlTextWriter writer) { if (writer == null) { throw new ArgumentNullException("writer"); } var builder = new GoogleMapBuilder(this); IHtmlNode rootTag = builder.Build(); rootTag.WriteTo(writer); var languaje = (Culture != null) ? "&language=" + Culture.TwoLetterISOLanguageName : String.Empty; var key = (ApiKey.HasValue()) ? "&key=" + ApiKey : String.Empty; var mainJs = String.Format("https://maps.googleapis.com/maps/api/js?v=3.exp{0}{1}", key, languaje); ScriptFileNames.Add(mainJs); if (EnableMarkersClustering) { ScriptFileNames.Add("markerclusterer.js"); } if (Markers.Any(m => m.Window != null)) { //Build Container for InfoWindows IHtmlNode infoWindowsRootTag = new HtmlElement("div") .Attribute("id", String.Format("{0}-InfoWindowsHolder", Id)) .Attribute("style", "display: none"); Markers.Where(m => m.Window != null).Each(m => { IHtmlNode markerInfoWindows = new HtmlElement("div") .Attribute("id", String.Format("{0}Marker{1}", Id, m.Index)) .AddClass("content"); m.Window.Template.Apply(markerInfoWindows); infoWindowsRootTag.Children.Add(markerInfoWindows); }); infoWindowsRootTag.WriteTo(writer); } }