Option 1:
I made a macro that will create a TomTom waypoint every time you click a "Map Pin Location" link:
/run hooksecurefunc("SetItemRef",function(_,l,m,x,y,t)if l then l,m,x,y,t=l:match("\124H(.-):(.-):(.-):(.-)\124h.*\124a%s?(.-)%]") if l=="worldmap" then TomTom:AddWaypoint(tonumber(m),tonumber(x)/10000,tonumber(y)/10000,{title=t,from=CHAT,})end end end)
You must run this macro
only once every fresh UI load (after you login and after a reload).
Option 2:
Install this weakaura:
https://wago.io/MapPinToTomTom
This will also remove the Blizzard waypoint at the same time and prevent the map from opening when clicking a Map Pin Location link, both functionalities can't fit into the macro.
Option 3:
Go to
https://addon.bool.no and paste this (does the same thing as the weakaura):
Code:
local f=CreateFrame("frame")
f:RegisterEvent("PLAYER_LOGIN")
f:SetScript("OnEvent",function(self)
self:UnregisterEvent("PLAYER_LOGIN")
local MapStatusUpdate=function()
C_Timer.After(0.1,function()
MapPinToTomTom_IsMapShown=WorldMapFrame:IsShown()
end)
end
WorldMapFrame:HookScript("OnShow",MapStatusUpdate)
WorldMapFrame:HookScript("OnHide",MapStatusUpdate)
hooksecurefunc("SetItemRef",function(_,link)
if link and TomTom then
local linktype,mapID,x,y,linktext=link:match(
"\124H(.-):(.-):(.-):(.-)\124h.*\124a%s?(.-)%]")
if linktype=="worldmap" then
TomTom:AddWaypoint(tonumber(mapID),tonumber(x)/10000,
tonumber(y)/10000,{title=linktext,from=CHAT,})
C_Map.ClearUserWaypoint()
if not MapPinToTomTom_IsMapShown then
HideUIPanel(WorldMapFrame)
end
end
end
end)
end)
Make sure you scroll the code box for all of the code. Then download and unzip into Interface\AddOns like you would any other addon.