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

本文关键字:获取 lat-long 数据库 何使用 net | 更新日期: 2023-09-27 18:04:52

  1. 我的ajax调用是这样的

$(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并绘制标记

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

根据您的评论,如果您要返回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的DB值是int