使用C#/ DataTable在Google地图上显示数据

时间:2014-10-14 23:36:39

标签: c# google-maps foreach datatable

我做错了什么?我正在尝试使用数据库中的数据加载Google地图,我使用以下代码,但在输入foreach时遇到错误: “在GMaps.dll中发生类型'System.Exception'的例外,但未在用户代码中处理” “附加信息:纬度必须是beetwen -90和90”

   if (!IsPostBack)
    {

        GLatLng mainLocation = new GLatLng(-18.8533, -41.9450);
        GMapMyFriends.setCenter(mainLocation, 15);

        XPinLetter xpinLetter = new XPinLetter(PinShapes.pin_star, "C", Color.Green, Color.White, Color.Chocolate);
        GMapMyFriends.Add(new GMarker(mainLocation, new GMarkerOptions(new GIcon(xpinLetter.ToString(), xpinLetter.Shadow()))));

        DataTable MyFriends = db.ExecuteSelect("SELECT lat ,lng FROM tblAdress;");

        PinIcon p;
        GMarker gm;
         foreach (DataRow dtRow in MyFriends.Rows)
        {
            foreach (DataColumn dc in MyFriends.Columns)
            {   p = new PinIcon(PinIcons.home, Color.Cyan);
                gm = new GMarker(new GLatLng(Convert.ToDouble(dtRow["lat"]), Convert.ToDouble(dtRow["lng"])),
                    new GMarkerOptions(new GIcon(p.ToString(), p.Shadow())));
           }
        }

    }
}

2 个答案:

答案 0 :(得分:1)

从数据库返回的值之一大于90或小于-90。在代码上创建一个断点,并逐步查看从数据库返回的值,以确定哪一个。

您还应该捕获错误值并将其设置为其他值(要么不显示,要么默认为其他值)

答案 1 :(得分:0)

你必须改变“。”通过“,”接受正确的变量参数 例 -18.8533 -18.8533通过替换变量的值是正确的

HOLA tienes que cambiar las“。” por las“,”para que la variable aceptelosparámetros妥斗 ejemplo sustituir -18.8533 por -18,8533 para que el valor de la variable sea correcto