I do not think this is possible with the in-game map. All the addons for placing icons still use the in-game map, so the maximum zoom level is controlled by it.
I do not think this is possible with the in-game map. All the addons for placing icons still use the in-game map, so the maximum zoom level is controlled by it.
You can resize map container (and its background) directly.
And if you hook (or redefine) functions ZO_WorldMapZoomMinus_OnClicked(), ZO_WorldMapZoomPlus_OnClicked() and ZO_WorldMapZoom_OnMouseWheel(delta), you should be able to set map size as you wish.
And if you hook (or redefine) functions ZO_WorldMapZoomMinus_OnClicked(), ZO_WorldMapZoomPlus_OnClicked() and ZO_WorldMapZoom_OnMouseWheel(delta), you should be able to set map size as you wish.
I don't think that will work. They delegate to g_mapPanAndZoom, which is local to the file and doesn't leak out as far as I can tell. I also tried overriding ZO_SmoothSlider:SetMinMax, giving it 2*max ... the result was that buttons worked, I reached max zoom in the middle of the slider, but when I clicked into the right half, the map wouldn't let me zoom in further, it just shook a little and returned to the fixed max zoom (i.e. half-way through overridden slider).
Finally I succeded with ZO_WorldMap_SetCustomZoomLevels:
Warning: Spoiler
Lua Code:
local MAX_OVER_ZOOM =1.3
localfunction ComputeMaxZoom()
if(GetMapContentType()== MAP_CONTENT_DUNGEON)then
return1
else
local numTiles = GetMapNumTiles()
local tilePixelWidth = ZO_WorldMapContainer1:GetTextureFileDimensions()
local totalPixels = numTiles * tilePixelWidth
local mapAreaUIUnits = ZO_WorldMapScroll:GetHeight()
local mapAreaPixels = mapAreaUIUnits * GetUIGlobalScale()
local maxZoomToStayBelowNative = totalPixels / mapAreaPixels
Default MAX_OVER_ZOOM is 1.3 (which how I understand it means 10 pixels of source texture cannot span more than 13 pixels on screen), to override that, type /xzoom VALUE