Jump to content

Module:OSM Location map and Module:OSM Location map/sandbox: Difference between pages

(Difference between pages)
Page 1
Page 2
Content deleted Content added
ensure no magify less than 1 - it doesn't work
 
use percentage font-size declarations where it is easy to do so
 
Line 90: Line 90:
CTB["palegrey"],CTB["softgrey"],CTB["hardgrey"],CTB["darkgrey"]= "#E8E8D6","#AAAA88","#777755","#444433"
CTB["palegrey"],CTB["softgrey"],CTB["hardgrey"],CTB["darkgrey"]= "#E8E8D6","#AAAA88","#777755","#444433"
CTB["palegray"],CTB["softgray"],CTB["hardgray"],CTB["darkgray"]=CTB["palegrey"],CTB["softgrey"],CTB["hardgrey"],CTB["darkgrey"]
CTB["palegray"],CTB["softgray"],CTB["hardgray"],CTB["darkgray"]=CTB["palegrey"],CTB["softgrey"],CTB["hardgrey"],CTB["darkgrey"]
CTB["palebrown"],CTB["softbrown"],CTB["hardbrown"],CTB["darkbrown"]="#FAF6ED","#CCB56C","#AD7F14","#754910"
CTB["palebrown"],CTB["softbrown"],CTB["hardbrown"],CTB["darkbrown"]="#FAF6ED","#CCB56C","#AD7F14","#8E5913"
CTB["palepurple"],CTB["softpurple"],CTB["hardpurple"],CTB["darkpurple"]="#e0d1e6","#c784e0","#a029cf","#7a05a8"
CTB["palepurple"],CTB["softpurple"],CTB["hardpurple"],CTB["darkpurple"]="#e0d1e6","#c784e0","#a029cf","#7a05a8"
CTB["paleorange"],CTB["softorange"],CTB["hardorange"],CTB["darkorange"]="#ffedc2","#ffcf61","#EEB533","#e39f05"
CTB["paleorange"],CTB["softorange"],CTB["hardorange"],CTB["darkorange"]="#ffedc2","#ffcf61","#EEB533","#e39f05"
CTB["black"],CTB["white"],CTB["yellow"]="#000000","#FFFFFF","#FAF039"
CTB["black"],CTB["white"],CTB["yellow"]="#000000","#FFFFFF","#FAF039"
CTB["background"],CTB["paleground"],CTB["beigeground"]="#f9f6f2","#FEFEFA","#F5F5DC"
CTB["background"],CTB["paleground"],CTB["beigeground"]="#F9F5E7","#FEFEFA","#F5F5DC"
CTB["beige"]=CTB["beigeground"]
CTB["beige"]=CTB["beigeground"]
CTB["aqua"],CTB["teal"],CTB["fuchsia"] = "#00FFFF","#008080","#FF00FF"
CTB["aqua"],CTB["teal"],CTB["fuchsia"] = "#00FFFF","#008080","#FF00FF"
Line 109: Line 109:
pathshape.circledd = "M0,10a10,10 0 1,0 20,0a10,10 0 1,0 -20,0zm0.8,0a9.2,9.2 0 1,1 18.4,0a9.2,9.2 0 1,1 -18.4,0m1,0a8.2,8.2 0 1,0 16.4,0a8.2,8.2 0 1,0 -16.4,0zm0.8,0a7.2,7.2 0 1,1 14.8,0a7.2,7.2 0 1,1 -14.8,0m1,0 a6.4,6.4 0 1,1 12.8,0a6.4,6.4 0 1,1 -12.8,0z"
pathshape.circledd = "M0,10a10,10 0 1,0 20,0a10,10 0 1,0 -20,0zm0.8,0a9.2,9.2 0 1,1 18.4,0a9.2,9.2 0 1,1 -18.4,0m1,0a8.2,8.2 0 1,0 16.4,0a8.2,8.2 0 1,0 -16.4,0zm0.8,0a7.2,7.2 0 1,1 14.8,0a7.2,7.2 0 1,1 -14.8,0m1,0 a6.4,6.4 0 1,1 12.8,0a6.4,6.4 0 1,1 -12.8,0z"
pathshape.circled = "M2.5,10a7.5,7.5 0 1,0 15,0a7.5,7.5 0 1,0 -15,0zm1,0a6.5,6.5 0 1,1 13,0a6.5,6.5 0 1,1 -13,0m0.8,0 a5,5 0 1,1 11.4,0a5,5 0 1,1 -11.4,0"
pathshape.circled = "M2.5,10a7.5,7.5 0 1,0 15,0a7.5,7.5 0 1,0 -15,0zm1,0a6.5,6.5 0 1,1 13,0a6.5,6.5 0 1,1 -13,0m0.8,0 a5,5 0 1,1 11.4,0a5,5 0 1,1 -11.4,0"
pathshape.diamond = "M3,10 l 7,-10 l 7,10 -7,10 -7,-10z"
pathshape.diamond = "M5,10 l 5,-10 l 5,10 -5,10 -5,-10z"
pathshape.diamondd = "M3,10 l 7,-10 l 7,10 -7,10 -7,-10zm1,0 l 6,8.5 l 6,-8.5 -6,-8.5 -6,8.5zm1,0 l 5,-7 5,7 -5,7 -5,-7z"
pathshape.diamondd = "M5,10 l 5,-10 5,10 -5,10 -5,-10zm1,0 l 4,8 l 4,-8 -4,-8 -4,8zm1,0 l 3,-6 3,6 -3,6 -3,-6z"
pathshape.diamonddd = "M3,10 l 7,-10 l 7,10 -7,10 -7,-10zm0.75,0 l 6.25,9 l 6.25,-9 -6.25,-9 -6.25,9zm0.75,0 l 5.5,-8 5.5,8 -5.5,8 -5.5,-8zm0.75,0 l 4.75,7 l 4.75,-7 -4.75,-7 -4.75,7zm0.75,0 l 4,-6 4,6 -4,6 -4,-6z"
pathshape.diamonddd = "M5,10 l 5,-10 5,10 -5,10 -5,-10zm0.5,0 l 4.5,9 l 4.5,-9 -4.5,-9 -4.5,9zm0.5,0 l 4,-8 4,8 -4,8 -4,-8zm0.5,0 l 3.5,7 l 3.5,-7 -3.5,-7 -3.5,7zm0.5,0 l 3,-6 3,6 -3,6 -3,-6z"
pathshape.crossd = "M3.1,12.5 l4.2,0 l0,4.2 l5,0 l0,-4 l4.2,0 l0,-5 l-4.2,0 l0,-4.2 l-5,0 l0,4.2 l-4.2,0zM2.3,10a7.5,7.5 0 1,0 15,0a7.5,7.5 0 1,0 -15,0zm1,0a6.5,6.5 0 1,1 13,0a6.5,6.5 0 1,1 -13,0z"
pathshape.crossd = "M3.1,12.5 l4.2,0 l0,4.2 l5,0 l0,-4 l4.2,0 l0,-5 l-4.2,0 l0,-4.2 l-5,0 l0,4.2 l-4.2,0zM2.3,10a7.5,7.5 0 1,0 15,0a7.5,7.5 0 1,0 -15,0zm1,0a6.5,6.5 0 1,1 13,0a6.5,6.5 0 1,1 -13,0z"
pathshape.cross = "M3.1,12.5 l4.2,0 l0,4.2 l5,0 l0,-4 l4.2,0 l0,-5 l-4.2,0 l0,-4.2 l-5,0 l0,4.2 l-4.2,0z"
pathshape.cross = "M3.1,12.5 l4.2,0 l0,4.2 l5,0 l0,-4 l4.2,0 l0,-5 l-4.2,0 l0,-4.2 l-5,0 l0,4.2 l-4.2,0z"
pathshape.thincross = "M2,12 l6,0 l0,6 l4,0 l0,-6 l6,0 l0,-4 l-6,0 l0,-6 l-4,0 l0,6 l-6,0z"
pathshape.fivepointstar = "M10 0 L12.245 6.91 19.511 6.91 13.633 11.18 15.878 18.09 10 13.82 4.122 18.09 6.367 11.18 0.489 6.91 7.755 6.91Z"
pathshape.fivepointstar = "M10 0 L12.245 6.91 19.511 6.91 13.633 11.18 15.878 18.09 10 13.82 4.122 18.09 6.367 11.18 0.489 6.91 7.755 6.91Z"
pathshape.fivepointstard = "M10 1.5 L 11.90825 7.3735 18.08435 7.3735 13.08805 11.003 14.9963 16.8765 10 13.247 5.0037 16.8765 6.91195 11.003 1.91565 7.3735 8.09175 7.3735 ZM0,10a10,10 0 1,0 20,0a10,10 0 1,0 -20,0zm1.5,0a8.5,8.5 0 1,1 17,0a8.5,8.5 0 1,1 -17,0z"
pathshape.fivepointstard = "M10 1.5 L 11.90825 7.3735 18.08435 7.3735 13.08805 11.003 14.9963 16.8765 10 13.247 5.0037 16.8765 6.91195 11.003 1.91565 7.3735 8.09175 7.3735 ZM0,10a10,10 0 1,0 20,0a10,10 0 1,0 -20,0zm1.5,0a8.5,8.5 0 1,1 17,0a8.5,8.5 0 1,1 -17,0z"
Line 123: Line 122:
pathshape.eightpointstar = "M10 0 L11.88 5.46 17.071 2.929 14.54 8.12 20 10 14.54 11.88 17.071 17.071 11.88 14.54 10 20 8.12 14.54 2.929 17.071 5.46 11.88 0 10 5.46 8.12 2.929 2.929 8.12 5.46Z"
pathshape.eightpointstar = "M10 0 L11.88 5.46 17.071 2.929 14.54 8.12 20 10 14.54 11.88 17.071 17.071 11.88 14.54 10 20 8.12 14.54 2.929 17.071 5.46 11.88 0 10 5.46 8.12 2.929 2.929 8.12 5.46Z"
pathshape.eightpointstard = "M10 0 L10 1.5 L11.598 6.141 16.01035 3.98965 13.859 8.402 18.5 10 13.859 11.598 16.01035 16.01035 11.598 13.859 10 18.5 8.402 13.859 3.98965 16.01035 6.141 11.598 1.5 10 6.141 8.402 3.98965 3.98965 8.402 6.141ZM0,10a10,10 0 1,0 20,0a10,10 0 1,0 -20,0zm1.5,0a8.5,8.5 0 1,1 17,0a8.5,8.5 0 1,1 -17,0z"
pathshape.eightpointstard = "M10 0 L10 1.5 L11.598 6.141 16.01035 3.98965 13.859 8.402 18.5 10 13.859 11.598 16.01035 16.01035 11.598 13.859 10 18.5 8.402 13.859 3.98965 16.01035 6.141 11.598 1.5 10 6.141 8.402 3.98965 3.98965 8.402 6.141ZM0,10a10,10 0 1,0 20,0a10,10 0 1,0 -20,0zm1.5,0a8.5,8.5 0 1,1 17,0a8.5,8.5 0 1,1 -17,0z"
pathshape.ring="M2.6,9.5a7.5,7.5 0 1,0 15,0a7.5,7.5 0 1,0 -15,0zm1,0a6.5,6.5 0 1,1 13,0a6.5,6.5 0 1,1 -13,0z"
pathshape.ring="M0,10a7.5,7.5 0 1,0 15,0a7.5,7.5 0 1,0 -15,0zm1,0a6.5,6.5 0 1,1 13,0a6.5,6.5 0 1,1 -13,0z"
pathshape.boxd=pathshape.squared
pathshape.boxd=pathshape.squared
pathshape.boxdd=pathshape.squaredd
pathshape.boxdd=pathshape.squaredd
Line 159: Line 158:
s= s:sub(0,s:find("%d")-1)
s= s:sub(0,s:find("%d")-1)
opacity=string.match(color,"%d+")
opacity=string.match(color,"%d+")
if not CTB[s] then s= colorList[s] end -- check for synonyms and translations
if not CTB[s] then
-- debugmsg("couldn't find "..s..", try "..(colorList[s] or 'nil') )
if not CTB[s] then debugmsg(mw.addWarning('color = '..color..'. The color name is not defined. Used default grey instead')) end
s= colorList[s] end
c=CTB[s] or CTB.hardgrey
c=CTB[s] or CTB.hardgrey
end
end
Line 176: Line 176:
return string.upper(string.sub(getColor(c),2))
return string.upper(string.sub(getColor(c),2))
end
end



local function checkColors(color)
local function checkColors(color)
Line 451: Line 450:
end
end


local function getScale(zoom, lat,magVal)
local function getScale(zoom, lat)
if magVal and magVal>1 and magVal <=2 then zoom=zoom+(magVal-1) end
local dist=(156543.03 * math.cos(math.rad(math.abs(lat))) / (2 ^ zoom))/17
local dist=(156543.03 * math.cos(math.rad(math.abs(lat))) / (2 ^ zoom))/17
local y
local y
Line 632: Line 630:
shapeResult[nval].textBG=itemTab[2] or 'transparent'
shapeResult[nval].textBG=itemTab[2] or 'transparent'
end
end
if getColor(shapeResult[nval].textBG)==CTB['hardgrey'] and shapeResult[nval].textBG~='hardgrey' then shapeResult[nval].textBG= 'transparent' end
if not (CTB[shapeResult[nval].textBG] or colorList[shapeResult[nval].textBG]) then shapeResult[nval].textBG= 'transparent' end
--label color etc
--label color etc
itemTab=splitItem(multiCheck(args,'label-color',argval, 'darkgrey','label-colour'),2)
itemTab=splitItem(multiCheck(args,'label-color',argval, 'darkgrey','label-colour'),2)
Line 650: Line 648:
if shapePos[2]=='with-line' or shapePos[2]=='n-line' then
if shapePos[2]=='with-line' or shapePos[2]=='n-line' then
shapeResult[nval].textEW=(shapePos[3] or '1')..'px' -- width
shapeResult[nval].textEW=(shapePos[3] or '1')..'px' -- width
shapeResult[nval].textEC=(shapePos[4] or shapeResult[nval].shapeColor or 'darkgrey')
shapeResult[nval].textEC=shapeResult[nval].shapeColor or 'darkgrey'
elseif shapePos[2]=='photo-panel' then
elseif shapePos[2]=='photo-panel' then
shapeResult[nval].textEW='2px' -- width
shapeResult[nval].textEW='2px' -- width
Line 813: Line 811:
local function makeSquare(result,row,shape,tshape)
local function makeSquare(result,row,shape,tshape)
local w,h,r=getsize(shape.shapeSize)
local w,h,r=getsize(shape.shapeSize)
local div=mw.html.create ('div')
if shape.shape=='square' then h=w end -- squares are always square!. box can stretch
local div=mw.html.create ('div')
if tshape then -- Add tooltip if needed
if tshape then -- Add tooltip if needed
div:attr('title',row.title)
div:attr('title',row.title)
Line 842: Line 839:
local function makeCircle(result,row,shape,tshape)
local function makeCircle(result,row,shape,tshape)
local w,h,r=getsize(shape.shapeSize) -- = width,height,rounding
local w,h,r=getsize(shape.shapeSize) -- = width,height,rounding
if shape.shape=='circle' then h=w end -- circles are always round. ellipse can stretch
local div=mw.html.create ('div')
local div=mw.html.create ('div')
if tshape then -- Add tooltip if needed
if tshape then -- Add tooltip if needed
Line 850: Line 846:
if shape.outlineWidth ~= "0px" then
if shape.outlineWidth ~= "0px" then
div:css('outline', shape.outlineWidth.." "..shape.outlineStyle.." "..getColor(shape.outlineColor))
div:css('outline', shape.outlineWidth.." "..shape.outlineStyle.." "..getColor(shape.outlineColor))
end
if shape.shapeAngle ~= "0deg" then
div:css('transform',"rotate("..shape.shapeAngle..")")
end
end
div
div
Line 942: Line 935:
-- return the text css div code to position and draw a shape occupying a specified clippath
-- return the text css div code to position and draw a shape occupying a specified clippath
if not pathshape[shape.shape] then
if not pathshape[shape.shape] then
print("Path shape",shape.shape,"not found...")
debugmsg(mw.addWarning('shape'..row.code..' = '..shape.shape..'. The shape name is not defined'))
return
return
end
end
local w,h,r=getsize(shape.shapeSize)
local w,h,r=getsize(shape.shapeSize)
if string.match(shape.shape,"circle") or string.match(shape.shape,"square") then h=w end -- use ellipse and box for stretched shapes
local shifth,shiftv = 0,0
local shifth,shiftv = 0,0
if string.match(shape.shape,"triangle") then
if string.match(shape.shape,"triangle") then
Line 1,182: Line 1,174:
elseif shape.shape=="curvea" or shape.shape=="curvec" then
elseif shape.shape=="curvea" or shape.shape=="curvec" then
makeCurveA(result,row,shape)
makeCurveA(result,row,shape)
else -- use a pathshape clipPath
elseif pathshape[shape.shape] then
if shape.outlineWidth ~= "0px" then
if shape.outlineWidth ~= "0px" then
makeClipPath(result,row,shape,true,false) -- larger path-shape to give the outline, if required
makeClipPath(result,row,shape,true,false) -- larger path-shape to give the outline, if required
Line 1,298: Line 1,290:
items,arcText=extractItem(items) -- first item is text, in quotes if it includes commas
items,arcText=extractItem(items) -- first item is text, in quotes if it includes commas
itemlist=splitItem(items,9) -- put items in a table: text, lat,lon,size,color,angle,gap,radius,ellipse
itemlist=splitItem(items,9) -- put items in a table: text, lat,lon,size,color,angle,gap,radius,ellipse
if itemlist[4]=='' then itemlist[4]='12' end
itemlist[4]=string.match((itemlist[4] or '0'),"[%.%-?%d]+")
itemlist[4]=string.match((itemlist[4] or '12'),"[%.%-?%d]+")
if itemlist[5]=='' then itemlist[5]='grey' end
itemlist[6]=string.match((itemlist[6] or '0'),"[%.%-?%d]+")
itemlist[6]=string.match((itemlist[6] or '0'),"[%.%-?%d]+")
itemlist[7]=string.match((itemlist[7] or '0'),"[%.%-?%d]+")
itemlist[7]=string.match((itemlist[7] or '0'),"[%.%-?%d]+")
Line 1,416: Line 1,406:
:css('color', getColor(legend.Color))
:css('color', getColor(legend.Color))
:css('transform', 'translateX(-50%)')
:css('transform', 'translateX(-50%)')
:css('font-size','11px')
:css('font-size','85%')
:wikitext(legend.Text)
:wikitext(legend.Text)
:done()
:done()
Line 1,437: Line 1,427:
:css('line-height','103%')
:css('line-height','103%')
:css('color', getColor(legend.Color))
:css('color', getColor(legend.Color))
:css('font-size','10px')
:css('font-size','85%')
:wikitext(legendLine[lct])
:wikitext(legendLine[lct])
:done()
:done()
Line 1,450: Line 1,440:
local frame=mw.getCurrentFrame()
local frame=mw.getCurrentFrame()
local dotTable={}
local dotTable={}
local magVal,scaleVal = args.magnify,''
local origH,origW=maplist.height,maplist.width
-- set up the three nested div boxes (plus an extra if centered) to put the map plus title/caption area, in an appropriate frame on the page
if magVal then --set up the values needed to magnify the top-right portion of the map
magVal=tonumber(string.match(magVal or '0',"[%.%-?%d]+")) or 1
if magVal>1 and magVal <=2 then
maplist.height= round(maplist.height/magVal,0)
maplist.width=round(maplist.width/magVal,0)
scaleVal='transform: scale('..magVal..') translateY('..tostring((origH-maplist.height)/2)..'px);'
else magVal=1
end
--debugmsg('magVal='..magVal..', Magnify: H='..maplist.height..', ('..origH..'), W='..maplist.width..', ('..origW..'), scale='..scaleVal)
--debugmsg('top: '..tostring(((origW-maplist.width))/2)..'px;right: '..tostring(0-((origW-maplist.width))/2)..'px; (alt top: '..tostring(((origH-maplist.height))/2)..'px;)')
end
-- set up the three nested div boxes (plus an extra if centered) to put the map plus title/caption area, in an appropriate frame on the page
if args.float=='center' or args.float=='centre' then table.insert(result,'<div class="center"><div class="thumb tnone">')
if args.float=='center' or args.float=='centre' then table.insert(result,'<div class="center"><div class="thumb tnone">')
elseif args.float=='left' then table.insert(result,'<div class="thumb tleft">')
elseif args.float=='left' then table.insert(result,'<div class="thumb tleft">')
Line 1,471: Line 1,448:
table.insert(result,'<div class="thumbinner" style="position: relative; top: 0px; right: 0px; width: '..(args.width or "400")..'px;">')
table.insert(result,'<div class="thumbinner" style="position: relative; top: 0px; right: 0px; width: '..(args.width or "400")..'px;">')
if args.title then table.insert(result,'<div class="center" style="font-weight:bold">'..args.title..'</div>') end
if args.title then table.insert(result,'<div class="center" style="font-weight:bold">'..args.title..'</div>') end
table.insert(result,'<div class="thumbinner noresize" style="position: relative; top: 0px; right: 0px; outline:0px; border:0px; padding:0px;')
if magVal and magVal >1 and magVal<=2 then
table.insert(result,'height: '..maplist.height..'px; width: '..maplist.width..'px">')
table.insert(result,'<div class="thumbinner noresize" style="display:block; position: relative; outline:0px; border:0px; padding:0px; background-color:transparent; color:inherit;')
table.insert(result,'top: 50%; right: '..tostring(0-((origW-maplist.width))/2)..'px; ')
table.insert(result,'height: '..origH..'px; width: '..maplist.width..'px; '..scaleVal..'">')
else
magVal=1
table.insert(result,'<div class="thumbinner noresize" style="position: relative; outline:0px; border:0px; padding:0px;')
table.insert(result,'top: 0px; right: 0px; ')
table.insert(result,'height: '..maplist.height..'px; width: '..maplist.width..'px ">')
end

-- Create the basemap using mapframe
-- Create the basemap using mapframe
local mapframecontent=getmapframecontent(args,'basemap')
local mapframecontent=getmapframecontent(args,'basemap')
Line 1,507: Line 1,476:
end
end
if maplist.width-left >216 then top=top+14 end -- shunt scaleline down if it is beyond the copyright stuff
if maplist.width-left >216 then top=top+14 end -- shunt scaleline down if it is beyond the copyright stuff
local scalek,scalem=getScale(maplist.zoom, maplist.latbase, magVal)
local scalek,scalem=getScale(maplist.zoom, maplist.latbase)

local magReduce=''
table.insert(result,"<div style=\"display:inline-block; position: absolute; background-color: #111111")
table.insert(result,"<div style=\"display:inline-block; position: absolute; background-color: #111111")
table.insert(result,"; color:inherit; clip-path:path(nonzero, &#39;M0,8 l0,4 l20,0 l0,-4 l-0.3,0 l0,3.7 l-19.4,0 l0,-3.7 z&#39;) ")
table.insert(result,"; color:inherit; clip-path:path(nonzero, &#39;M0,8 l0,4 l20,0 l0,-4 l-0.3,0 l0,3.7 l-19.4,0 l0,-3.7 z&#39;) ")
table.insert(result,"; top:"..tostring(top-1).."px")
table.insert(result,"; left:"..tostring(left+16).."px")
table.insert(result,"; width:20px") -- path is a 20px20px box, and then rescales
table.insert(result,"; width:20px") -- path is a 20px20px box, and then rescales
table.insert(result,"; height:20px; transform:scale("..tostring(2.5)..", "..tostring(1.5)..")")
if magVal==1 then
table.insert(result,"; top:"..tostring(top-1).."px")
table.insert(result,"; left:"..tostring(left+16).."px")
table.insert(result,"; height:20px; transform:scale("..tostring(2.5)..", "..tostring(1.5)..")")
else -- shrink the scalemark to compensate for magnification
table.insert(result,"; top:"..tostring(top-(magVal*0.28)).."px")
table.insert(result,"; left:"..tostring(left+(16*(magVal*1.15))).."px")
table.insert(result,"; height:20px; transform:scale("..tostring(2.5*(1/magVal))..", "..tostring(1.5*(1/magVal))..")")
magReduce= 'scale('..tostring(1/magVal)..')'
end
table.insert(result,"\"></div>")
table.insert(result,"\"></div>")
table.insert(result,'<div style="position: absolute; top: '..tostring(top)..'px; left: '..tostring(left+47)..'px; font-size: 9.5px; line-height: 126%; width: fit-content;')
table.insert(result,'<div style="position: absolute; top: '..tostring(top)..'px; left: '..tostring(left+47)..'px; font-size: 85%; line-height: 126%; width: fit-content;')
table.insert(result,'color: #444433; background-color: transparent; text-align: right; transform: '..magReduce..' translateX(-100%);">'..scalek..'<br>'..scalem..'</div>')
table.insert(result,'color: #444433; background-color: transparent; text-align: right; transform: translateX(-100%);">'..scalek..'<br>'..scalem..'</div>')
end
end
Line 1,627: Line 1,589:
local contentend=' ] } ]'
local contentend=' ] } ]'
table.insert(result, '<div style="position: absolute;top: 9px;left: '..tostring(maplist.width-34)..'px">')
table.insert(result, '<div style="position: absolute;top: 9px;left: '..tostring(maplist.width-34)..'px">')
table.insert(result, '<div style="color: white; opacity:100; font-size: 19px; font-weight:normal; text-align: left;">')
table.insert(result, '<div style="color: white; opacity:100; font-size: 125%; font-weight:normal; text-align: left;">')
table.insert(result, frame:extensionTag{ name ='maplink', content=contentstart..table.concat(FullscreenList)..contentend, args={zoom=tostring(maplist.zoom+1), class='no-icon', frameless='1',
table.insert(result, frame:extensionTag{ name ='maplink', content=contentstart..table.concat(FullscreenList)..contentend, args={zoom=tostring(maplist.zoom+1), class='no-icon', frameless='1',
latitude=tostring(maplist.latbase), longitude=tostring(maplist.lonbase), --add invisble 'en-spaces' for tooltip
latitude=tostring(maplist.latbase), longitude=tostring(maplist.lonbase), --add invisble 'en-spaces' for tooltip