If you happen to use one of the perfect geo locator plugin for wordpress – Geo my WordPress (GMW) and you’ve got totally different roles of customers, generally it’s good to disguise location tab for all roles, besides special role. Additionally, possibly you need to present only special person role on map. Right here easy code snippets for this

function set_only_vendors_in_gmw_results( $args, $gmw ) {
    $userargs = array('role'=>'vendor', 'fields'=> 'ID');
    $vendorids = get_users( $userargs);
    if (!empty($vendorids)){
        $vendorids = implode(',',$vendorids);
        $args['include'] = $vendorids;
        return $args;
    }
}
add_filter( 'gmw_fl_search_query_args', 'set_only_vendors_in_gmw_results', 10, 2 );

add_filter( 'gmw_fl_setup_nav', 'rh_remove_location_tab', 10, 1 );
function rh_remove_location_tab($bp){
    global $bp;
    $userobj = get_userdata($bp->displayed_user->id);
    if ( in_array( 'vendor', (array) $userobj->roles ) ) {
        return array(
            'name'                => __( 'Location', 'GMW' ),
            'slug'                => GMW_FL_SLUG,
            'position'            => 60,
            'screen_function'     => array($bp->gmw_location, 'screen_functions'),
            'default_subnav_slug' => GMW_FL_SLUG
        );
    }
    else {
        return;
    }
}

Add this code to functions.php of your theme. This code enables location only for user role “vendor” and hide for all others