从Google地图上的ASP.NET嵌入在线数据库



我已经在ASP.NET上构建了一个项目,并且它具有自己的数据库。该数据库一直通过连接到Arduino并与他们签名的传感器一直在更新,并且DB中的表正在发生变化。(更具体地说 - 停车场下有磁性传感器,当汽车在此停车场上驶入时,数据库中的停车位变为false)。

我想在我的网站上将此SQL数据库(ASP.NET)嵌入Google Maps API。以便在我的网站中,我将看到Google地图和所有及其状态的停车位(标记?),用DB实时更新(如果是元,则为green,红色 - 如果是false)

数据库由两个不同的表组成。

我的查询是用linq编写的。我读到我需要与JSON/GEOJSON文件一起使用。

正确吗?你能解释一下我吗?我该如何使此JSON文件始终使用DB进行更新?

谢谢!

https://developers.google.com/maps/documentation/javascript/

查看上面链接的文档。我只会使用JavaScript可能通过REST API消耗您的数据,并通过重新检查数据来定期更新地图。

您需要使用Google注册键。您可以免费获得一个,可以在给定时间内为您提供有限数量的请求。如果您需要使用更多,则需要付款。

如果您不想打扰休息,并且只想每个页面加载一个更新,则可以在页面上使用page_load,然后将数据传递到客户端/javascript。类似于下面。但是我会喜欢Web服务方式,因为您可以更新而无需重新加载页面。

protected void Page_Load(object sender, EventArgs e)
        {
            var sqlData;
            using (SqlDataDataContext ctx = new SqlDataDataContext(ConfigurationManager.ConnectionStrings["ConnectionDB"].ConnectionString))
        {
            sqlData = ctx.GetCurrentData();
        }
        StringBuilder sbJs = new StringBuilder();
        sbJs.AppendLine(@"var sqlData = new Array();");
        int i = 0;
        foreach(var sqlRow in sqlData)
        {
            sbJs.AppendLine(String.Format("sqlData.push({id:{0}, latitude:{1}, longitude:{2}, status:{3}});", sqlRow.Id, sqlRow.latitude , sqlRow.longitude, sqlRow.status);
        }
        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "DynamicScript", sbJs.ToString(), true);
    }

最新更新