func (m *Map) SetBounds(bounds pixel.Rect) {
	m.opts.Bounds = bounds
	m.init()
}
SetBounds sets the map view bounds
package slippy
import "github.com/faiface/pixel"
type Options struct {
	Center Coord
	Zoom   int
	Bounds pixel.Rect
}
type Map struct {
	opts   Options
	origin pixel.Vec
	area   pixel.Rect
	tiles  []ImageTile
	loader *Loader
}
func New(opts Options) *Map {
	m := &Map{
		opts:   opts,
		loader: NewLoader(),
	}
	m.init()
	return m
}
func (m *Map) init() {
	var (
		opts   = m.opts
		bounds = opts.Bounds
		half   = bounds.Min.To(bounds.Max).Scaled(0.5)
	)
	m.origin = opts.Center.Vec(opts.Zoom).Sub(half)
	m.area = bounds.Moved(m.origin)
	m.tiles = fromRect(m.area, opts.Zoom)
}
func (m *Map) SetOptions(opts Options) {
	m.opts = opts
	m.init()
}
func (m *Map) Zoom() int {
	return m.opts.Zoom
}
func (m *Map) SetZoom(zoom int) {
	if 1 <= zoom && zoom <= MaxZ {
		m.opts.Zoom = zoom
		m.init()
	}
}
func (m *Map) Bounds() pixel.Rect {
	return m.opts.Bounds
}