The wiki examples don't show you this, but here's how I do it for an ad board of mine...
Consider that each landmark is in the following format... name, region (x, y, z). Every landmark should have this format. If not then this code won't work. Most landmarks do. The only time you run into a problem is when the vector data is cut off at the end because the landmark name is too long. It's not too hard to ensure your landmark is formatted correctly.
NOTE: The code below uses llGetSubString and pulls data based on where the "

" is. If the sim name is not in the SL map database, the teleport map will pop up but will fail to find the location. If the vector can't be pulled from the landmark name, it will also fail.
// Get a teleport map from the name of the first landmark in inventory.
// NOTE: Requires a landmark that contains name, region and position data.
// The correct format is "name, region (x, y, z)". If a landmark's
// name is too long the position data is truncated from the end,
// which will cause the position to be wrong.
default
{
touch_start(integer num)
{
// Parse the name of the first landmark found in inventory into a list using
// commas as separators.
list lstTemp = llParseString2List(llGetInventoryName(
INVENTORY_LANDMARK,0),[","],[]);
// Get list length and subtract 3 to get the correct element containing
// the region name. Moving backward from the end of the list keeps
// commas in the landmark name from giving us grief with misaligned
// and incorrect data.
integer intElement = llGetListLength(lstTemp)-3;
// Get the region name from the list element, eliminating unneeded
// characters in the string and trimming leading/trailing spaces.
string strSimname = llStringTrim(llGetSubString(llList2String(lstTemp,
intElement),0,llSubStringIndex(llList2String(lstTemp,intElement),"

"

-1),
STRING_TRIM);
// The vector is pulled from the landmark name, based on the
// position of "

" in the string starting with the next
// character and ending with the second to the last character.
vector vecVector = (vector)("<"+llGetSubString(llGetInventoryName(
INVENTORY_LANDMARK,0),llSubStringIndex(llGetInventoryName(
INVENTORY_LANDMARK,0),"

"

+1,-2)+">"

;
// Bring up the teleport map using the data we extracted.
llMapDestination(strSimname,vecVector,ZERO_VECTOR);
}
}