its not the query, I tried like this
<?php echo do_shortcode('[mashup query="post__in=1454,1460&post_type=restaurant" mashupBody="address" width="95%" height="350" alignment="center" directions="none" iwType="ib"]'); ?>
1454 and 1460 are post id, type restaurant and this query
$args = array(
'post_type' => 'restaurant',
'post__in' => array(1454,1460)
);
$wpq = new WP_Query( $args );
print_r($wpq);
prints the correct array.
The problem here is that on the search template when we search and nothing is found the map is not showing. If the search returns result then the map is here showing two POIs from the ids 1454,1460