Leaflet.js:如何从数据库中存储和加载tile

时间:2016-03-22 10:51:46

标签: c# asp.net leaflet

我正在寻找c#例程,我将传递一个大图片路径,例程将在图块中打破该图片并保存在文件系统中,并将每个小图块保存到数据库中。

1)所以将我重定向到可以将图像分成小块的例程 2)我的db表将查找每个用户标识的商店图块数据

ID    UserID    Z    X    Y
---   ------   --- ----  ----
1     Bob       0    0    0
2     Chris     1    1    1

以上数据是假的。我正在寻找一种方法,将大图像数据分解为图块并将图块信息保存到正确的文件夹结构中,并将图像信息(包括文件夹结构)保存到db表中,因此我可以从文件系统加载图块但是基于存储图块数据到db表

这里我有一个vb.net可以加载瓦片数据

如何生成和返回瓷砖非常灵活

L.tileLayer('**http://localhost/tileserver/tile.aspx?z={z}&x={x}&y={y}**', {
    minZoom: 7, maxZoom: 16,
    attribution: 'My Tile Server'
}).addTo(map);

其中Tiles.aspx

Option Strict On

Partial Class tile
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
        Dim z, x, y As Integer

        z = CInt(Request.QueryString("z"))
        x = CInt(Request.QueryString("x"))
        y = CInt(Request.QueryString("y"))

        Dim b() As Byte = DB.GetTile(z, x, y)

        Response.Buffer = True
        Response.Charset = ""
        'Response.Cache.SetCacheability(HttpCacheability.NoCache)
        Response.ContentType = "image/png"
        Response.AddHeader("content-disposition", "attachment;filename=" & y & ".png")
        Response.BinaryWrite(b)
        Response.Flush()
        Response.End()
    End Sub

这里我有一个混淆,下面的代码如何加载许多小瓷砖,因为当我们将大图片分成小瓷砖然后我们需要在页面加载时加载所有瓷砖或几个瓷砖但是在代码下方寻找特定的瓷砖< / p>

http://localhost/tileserver/tile.aspx?z={z}&x={x}&y={y}

L.tileLayer('**http://localhost/tileserver/tile.aspx?z={z}&x={x}&y={y}**', {
    minZoom: 7, maxZoom: 16,
    attribution: 'My Tile Server'
}).addTo(map);

任何人都可以很好地解释当我们需要将多个图块加载到地图中时上述代码如何工作?

我查阅这些帖子和网址如下 How to store image tiles in file system for leaflet.js

How TO serve Map tiles from a database using Leafletjs

Using custom map image tiles in LeafletJS?

https://gis.stackexchange.com/questions/82936/how-i-can-load-tilelayer-in-leaflet-framework-using-local-tiles

由于

0 个答案:

没有答案