如何使用c#.net从数据库获取lat

时间:2016-08-30 06:15:45

标签: javascript c# mysql asp.net leaflet

  1. 我的ajax电话看起来像这样。
  2. $(document).ready(function(){

    $.ajax({
        type: "POST",
        url: "map.aspx/getCityPopulation2",
        //data: jsonData,
        contentType: "application/json; charset=utf-8",
            data: "{}",
            dataType: "json",
            success: function (data) {
    
                var points = L.geoJson(data, {
                    pointToLayer: function (feature, latlng) {
                        marker = L.marker(latlng, { icon: ratIcon })
                        marker.bindPopup(feature.properties.Source + '<br/>');
                        return marker;
                    }
                }).addTo(pointsCluster);
    
                mymap.addLayer(pointsCluster);
            }
            });
    

    2。这是我执行查询的代码。

     [WebMethod]
    public static List<cityPopulation2> getCityPopulation2()
    {
        List<cityPopulation2> p = new List<cityPopulation2>();
    
        using (NpgsqlConnection con = new NpgsqlConnection("Server=Localhost;Port=5432;User Id=postgres;Password=postgres;Database=post;"))
        {
            string myQuery = "select complaintlgeolon,complaintlgeolat from mandapet.pgr_demo_view";
            NpgsqlCommand cmd = new NpgsqlCommand();
            cmd.CommandText = myQuery;
            cmd.CommandType = CommandType.Text;
            cmd.Connection = con;
            con.Open();
            NpgsqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    cityPopulation2 cpData = new cityPopulation2();
                    cpData.lat = Convert.ToInt32(dr["complaintlgeolon"]);
                    cpData.lng = Convert.ToInt32(dr["complaintlgeolon"]);
    
                    p.Add(cpData);
                }
            }
        }
    
        return p;
    }
    

    }

     public class cityPopulation2
        {
            public int lat { get; set; }
            public int lng { get; set; }
           // public string id { get; set; }
        }
    

    3.请任何人指导我出错的地方。我需要以j son和绘制标记来获取数据

1 个答案:

答案 0 :(得分:2)

根据你的评论,如果你要返回什么json ..你可以使用JavaScriptSerializer

 JavaScriptSerializer ASerializer = new JavaScriptSerializer();

  //you can create your own custom converter of cityPopulation2
  ASerializer.RegisterConverters(new JavaScriptConverter[] {new cityPopulation2()});
var Json = ASerializer.Serialize(p);
return Json;

另请确保lag and long的数据库值为int