Database 如何使用JS从数据库提供地图分幅
传单js需要以下磁贴源格式: {z} /{x}/{y}.png 如何使用JS从数据库而不是文件系统提供平铺图像Database 如何使用JS从数据库提供地图分幅,database,leaflet,tiles,Database,Leaflet,Tiles,传单js需要以下磁贴源格式: {z} /{x}/{y}.png 如何使用JS从数据库而不是文件系统提供平铺图像 (和ASP.net)您需要编写一个服务器应用程序,用于读取请求URL,从数据库中提取磁贴,并通过web交付它们。JavaScript不直接从数据库读取。您需要编写一个服务器应用程序来读取请求URL,从数据库中提取分片,并通过web交付它们。JavaScript不直接从数据库中读取。这可以非常快速、无缝地处理传单: 显然,传单只是使用z,x,y的位置持有人要求特定的瓷砖 您如何生成和返回
(和ASP.net)您需要编写一个服务器应用程序,用于读取请求URL,从数据库中提取磁贴,并通过web交付它们。JavaScript不直接从数据库读取。您需要编写一个服务器应用程序来读取请求URL,从数据库中提取分片,并通过web交付它们。JavaScript不直接从数据库中读取。这可以非常快速、无缝地处理传单: 显然,传单只是使用z,x,y的位置持有人要求特定的瓷砖 您如何生成和返回互动程序确实非常灵活
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
这与传单的使用非常快速且无缝: 显然,传单只是使用z,x,y的位置持有人要求特定的瓷砖 您如何生成和返回互动程序确实非常灵活
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
谢谢,但我想出了一个好办法。传单仅指定z、x、y来请求特定的磁贴。您可以按自己的选择返回该磁贴。请参阅下面提供的答案。@tmcw我想你应该讨论db表的设计。谢谢,但我想出了一个很好的解决方案。传单仅指定z、x、y来请求特定的磁贴。您可以按自己的选择返回该磁贴。请参阅下面我提供的答案。@tmcw我想你应该讨论db表的设计。如果你知道,请分享知识……z代表zoom,但zoom在js传单中的作用是什么?当我们指定url localhost/tileserver{z}/{x}/{y}.png来加载平铺图像时,z做了什么?任何人都可以详细解释z/x/y的含义?对不起,我不理解4到23之间的z
z
以这种方式讨论我可以理解z或zoom在传单中的用法。z的用途是什么?z定义缩放级别,值越高,缩放级别越高。为什么不说为什么缩放级别需要?什么是缩放级别?我看到当我们用5个缩放级别生成平铺时,会创建5个父文件夹。如果你知道,请分享知识…z代表缩放,但在传单js中缩放是什么?当我们指定url localhost/tileserver{z}/{x}/{y}.png来加载平铺图像时,z做了什么?任何人都可以详细解释z/x/y的含义?对不起,我不理解4到23之间的zz
以这种方式讨论我可以理解z或zoom在传单中的用法。z的用途是什么?z定义缩放级别,值越高,缩放级别越高。为什么不说为什么缩放级别需要?缩放级别是什么?我看到当我们用5个缩放级别生成平铺时,会创建5个父文件夹。