Esempio n. 1
0
        public override void ExecuteResult(ControllerContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            var response = context.HttpContext.Response;

            response.ContentType = "application/json";

            var json = new JsonObjectBuilder();

            json.Append("code", 200);

            if (this.Pushpins != null)
            {
                if (this.Pushpins.Count() > 0)
                {
                    var pushpinsJson = new JsonArrayBuilder();
                    foreach (var pin in this.Pushpins)
                    {
                        pushpinsJson.Add(pin);
                    }
                    json.Append("pushpins", pushpinsJson);
                }
            }

            if (this.Polylines != null)
            {
                if (this.Polylines.Count() > 0)
                {
                    var polylinesJson = new JsonArrayBuilder();
                    foreach (var pin in this.Polylines)
                    {
                        polylinesJson.Add(pin);
                    }
                    json.Append("polylines", polylinesJson);
                }
            }

            if (this.Polygons != null)
            {
                if (this.Polygons.Count() > 0)
                {
                    var polygonsJson = new JsonArrayBuilder();
                    foreach (var pin in this.Polygons)
                    {
                        polygonsJson.Add(pin);
                    }
                    json.Append("polygons", polygonsJson);
                }
            }

            response.Write(json.Render());
        }
Esempio n. 2
0
        protected virtual void RenderObjectInitializer(TextWriter writer)
        {
            writer.Write("var {0} = null;", this.MapID);
            writer.Write("$(function(){");

            writer.Write("{0}=new {1}('{2}',", this.MapID, this._javascriptObject, this.ContainerID);


            var json = new JsonObjectBuilder(this.CustomInitializerOptions);

            json.Append("id", string.Format("'{0}'", this.MapID));

            if (this.CenterLatitude.HasValue && this.CenterLongitude.HasValue)
            {
                json.Append("lat", this.CenterLatitude).Append("lng", this.CenterLongitude);
            }

            if (this.ZoomLevel.HasValue)
            {
                json.Append("zoom", this.ZoomLevel);
            }

            if (this.IsFixed.HasValue)
            {
                json.Append("fixed", (this.IsFixed.Value ? "true" : "false"));
            }

            var resolvedMapType = this.ResolveMapType();

            if (resolvedMapType != null)
            {
                json.Values["maptype"] = resolvedMapType;
            }

            if (this._loadScripts.Count > 0)
            {
                json.Append("onLoad", string.Format("{0}_onLoadMap", this.ContainerID));
            }

            if (this.Pushpins.Count > 0)
            {
                json.Append("pushpins", this.RenderPushpins());
            }

            if (this.Polylines.Count > 0)
            {
                json.Append("polylines", this.RenderPolylines());
            }

            if (this.Polygons.Count > 0)
            {
                json.Append("polygons", this.RenderPolygons());
            }

            if (this.DynamicMapOptions != null)
            {
                json.Append("dynamicmap", this.DynamicMapOptions.Render());
            }

            writer.Write(json.Render());


            writer.Write(");");

            writer.Write("});");
        }