Microsoft Small Basic

Program Listing: BSC699
level=1
lat=0
lon=0


GraphicsWindow.width=512
GraphicsWindow.Height=512
GraphicsWindow.KeyDown=OnKeyDown
GraphicsWindow.Title="Openstreetmap viewer"

drawMap()

'While "true"
'endwhile


Sub OnKeyDown
key=graphicsWindow.LastKey

'GraphicsWindow.Clear()
'GraphicsWindow.DrawBoundText(250,5,300,key)

If key="Left" Then
If lon>0 Then
lon=lon-1
EndIf
ElseIf key="Right" then
If lon lon=lon+1
EndIf
ElseIf key="Up" Then
If lat>0 Then
lat=lat-1
EndIf
ElseIf key="Down" then
If lat lat=lat+1
EndIf
ElseIf key="S" Then
If level<17 Then
level=level+1
lon=2*lon+1
lat=2*lat+1
EndIf
ElseIf key="A" then
If level>1 then
level=level-1
lon=math.Floor(lon/2)
lat=math.Floor(lat/2)
EndIf
endif


'nl: img=ImageList.LoadImage("http://tile.openstreetmap.org/tiles/"+level+"/"+lon+"/"+lat+".png")
drawMap()

EndSub

Sub drawMap
lon1=lon+1
lat1=lat+1
img1=ImageList.LoadImage("http://a.tile.openstreetmap.org/"+level+"/"+lon+"/"+lat+".png")
imageShape = Shapes.AddImage(img1)
img1=ImageList.LoadImage("http://a.tile.openstreetmap.org/"+level+"/"+lon1+"/"+lat+".png")
imageShape2 = Shapes.AddImage(img1)
Shapes.Move(imageShape2,256,0)
img1=ImageList.LoadImage("http://a.tile.openstreetmap.org/"+level+"/"+lon+"/"+lat1+".png")
imageShape3 = Shapes.AddImage(img1)
Shapes.Move(imageShape3,0,256)
img1=ImageList.LoadImage("http://a.tile.openstreetmap.org/"+level+"/"+lon1+"/"+lat1+".png")
imageShape4 = Shapes.AddImage(img1)
Shapes.Move(imageShape4,256,256)


EndSub