87 lines
1.6 KiB
Go
Executable File
87 lines
1.6 KiB
Go
Executable File
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"path/filepath"
|
|
"time"
|
|
|
|
"git.zhouxhere.com/zhouxhere/maptile/bin"
|
|
"git.zhouxhere.com/zhouxhere/maptile/util/fontnik"
|
|
"git.zhouxhere.com/zhouxhere/maptile/util/maptool"
|
|
"git.zhouxhere.com/zhouxhere/maptile/util/sprite"
|
|
)
|
|
|
|
// Protobuf 定义需提前通过 protoc 生成 Go 代码
|
|
|
|
//go:generate protoc --go_out=. --go_opt=paths=source_relative ./protobuf/*.proto
|
|
func main() {
|
|
bin.RunCMD()
|
|
// testSprite()
|
|
// testFont()
|
|
// testTiles()
|
|
}
|
|
|
|
func testSprite() {
|
|
filePath, err := filepath.Abs("icons/")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
spriteBuilder, err := sprite.NewSpriteBuilder(filePath, "style/sprite")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
spriteBuilder.Build()
|
|
}
|
|
|
|
func testFont() {
|
|
filePath, err := filepath.Abs("fonts/")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
fonts, err := fontnik.NewFontnik(filePath, "style/font")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
fonts.ToPBF()
|
|
}
|
|
|
|
func testTiles() {
|
|
tileReader, err := maptool.NewTileReader(1000, 2*time.Hour, "mbtiles", "pmtiles")
|
|
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
mbTilejson, err := tileReader.GetTileJSON(maptool.MBTilesName, "zhejiang-mb")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
fmt.Println(mbTilejson)
|
|
|
|
pmTilejson, err := tileReader.GetTileJSON(maptool.PMTilesName, "zhejiang-pm")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
fmt.Println(pmTilejson)
|
|
|
|
mbtile, err := tileReader.GetTile(maptool.MBTilesName, "zhejiang-mb", 12, 3390, 1703)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
fmt.Println(mbtile)
|
|
|
|
pmtile, err := tileReader.GetTile(maptool.PMTilesName, "zhejiang-pm", 12, 3390, 1703)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
fmt.Println(pmtile)
|
|
}
|