How to use hook_menu title arguments
When you define title arguments as an array, each array element will be passed as arguments in that sequence. 

Now you have title arguments defined as array(1), which means the actual call would mimic t('something') if the URL path was custom_gmap_neo/something/something_else/something_else_1. 

If you want to call t() function as t('Get directions to @hotel', array('@hotel' =&gt; 'something')), you need to define your own title callback, because automatic integer to path argument translations only happen in the root level array elements. 

&lt;?php 
function custom_gmap_neo_menu(){
    $item = array();

    $item['custom_gmap_neo/%/%/%'] = array( // hotel/origin/destination
        'title arguments' =&gt; array(1),
        'title callback' =&gt; 'custom_gmap_neo_get_map_title'
        'page callback' =&gt; 'custom_gmap_neo_show',
        'page arguments' =&gt; array(1,2,3),
        'access callback' =&gt; TRUE,
    );

    return $item;
}

function custom_gmap_neo_show($hotel, $origin, $destination){
    dpm($hotel);
    dpm($origin);
    dpm($destination);

    return '';
}

function custom_gmap_neo_get_map_title($hotel) {
  return t('Get directions to @hotel', array(
      '@hotel' =&gt; $hotel
    ));
}
?&gt;


However, if your first URL argument (hotel) is a node, consider using %node as the path wildcard, because it can load the node for you, and handles page not found errors automatically if node_load returns an empty result. Otherwise you will have to call node_load twice. node_load caches results, but there are many loader functions that do not cache results.