本文整理汇总了Golang中gopnik.TileCoord.Size方法的典型用法代码示例。如果您正苦于以下问题:Golang TileCoord.Size方法的具体用法?Golang TileCoord.Size怎么用?Golang TileCoord.Size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gopnik.TileCoord
的用法示例。
在下文中一共展示了TileCoord.Size方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: runWebUI
func runWebUI(addr string, perfData []perflog.PerfLogEntry) {
m := staticbin.Classic(gopnikwebstatic.Asset)
m.Map(log.New(os.Stderr, "", log.LstdFlags))
m.Use(rendergold.Renderer(rendergold.Options{Asset: Asset}))
m.Get("/", func(r rendergold.Render) {
totalStats := getStats(perfData, nil)
var zoomsStats []zoomStats
zrng := getZooms(perfData)
for z := zrng.MinZoom; z <= zrng.MaxZoom; z++ {
zoomsStats = append(zoomsStats, zoomStats{
Zoom: z,
Stats: getStats(perfData, &z),
})
}
r.HTML(
http.StatusOK,
"index",
map[string]interface{}{
"Page": "Results",
"TotalStats": totalStats,
"ZoomsStats": zoomsStats,
},
)
})
m.Get("/heatmap", func(r rendergold.Render) {
r.HTML(
http.StatusOK,
"heatmap",
map[string]interface{}{
"Page": "Heat",
},
)
})
m.Get("/heattiles_zooms", func(res http.ResponseWriter) {
var zooms struct {
Min uint64
Max uint64
}
if len(perfData) > 0 {
zooms.Min = perfData[0].Coord.Zoom
zooms.Max = perfData[0].Coord.Zoom
for i := 1; i < len(perfData); i++ {
zoom := perfData[i].Coord.Zoom
if zoom < zooms.Min {
zooms.Min = zoom
}
if zoom > zooms.Max {
zooms.Max = zoom
}
}
}
enc := json.NewEncoder(res)
if err := enc.Encode(zooms); err != nil {
http.Error(res, err.Error(), 500)
return
}
})
m.Get("/heattiles/:zoom_orig/:zoom/:x/:y.png", func(params martini.Params, res http.ResponseWriter) {
var coord gopnik.TileCoord
coord.Size = 1
_, err := fmt.Sscan(params["zoom"], &coord.Zoom)
if err != nil {
http.Error(res, err.Error(), 400)
return
}
_, err = fmt.Sscan(params["x"], &coord.X)
if err != nil {
http.Error(res, err.Error(), 400)
return
}
_, err = fmt.Sscan(params["y"], &coord.Y)
if err != nil {
http.Error(res, err.Error(), 400)
return
}
var zoomOrig uint64
_, err = fmt.Sscan(params["zoom_orig"], &zoomOrig)
if err != nil {
http.Error(res, err.Error(), 400)
return
}
tile, err := genPerfTile(perfData, coord, zoomOrig)
if err != nil {
http.Error(res, err.Error(), 500)
return
}
//.........这里部分代码省略.........