function get_near_by_lat_lng($lat = false, $lng = false, $post_type = array(), $range = 20, $limit = 5)
 {
     $map_lat = (double) $lat;
     $map_lng = (double) $lng;
     //Search by Kilometer :6371
     //Miles: 3959
     if (!empty($post_type) and is_array($post_type)) {
         $data_post_type = "";
         foreach ($post_type as $k => $v) {
             $data_post_type .= "'" . $v . "',";
         }
         $data_post_type = substr($data_post_type, 0, -1);
         global $wpdb;
         $where = "{$wpdb->posts}.ID = mt1.post_id\r\n            and {$wpdb->posts}.ID=mt2.post_id\r\n            AND mt1.meta_key = 'map_lat'\r\n            and mt2.meta_key = 'map_lng'\r\n            AND {$wpdb->posts}.post_status = 'publish'\r\n            AND {$wpdb->posts}.post_type IN ({$data_post_type})\r\n            AND {$wpdb->posts}.post_date < NOW()";
         $where = TravelHelper::edit_where_wpml($where);
         $join = "";
         $join = TravelHelper::edit_join_wpml($join, $post_type);
         $querystr = "\r\n            SELECT {$wpdb->posts}.*,( 6371 * acos( cos( radians({$map_lat}) ) * cos( radians( mt1.meta_value ) ) *\r\ncos( radians( mt2.meta_value ) - radians({$map_lng}) ) + sin( radians({$map_lat}) ) *\r\nsin( radians( mt1.meta_value ) ) ) ) AS distance\r\n            FROM {$wpdb->posts} {$join}, {$wpdb->postmeta} as mt1,{$wpdb->postmeta} as mt2\r\n            WHERE (1=1) and {$where}\r\n            GROUP BY {$wpdb->posts}.ID HAVING distance<{$range}\r\n            ORDER BY distance ASC\r\n            LIMIT 0,{$limit}\r\n         ";
         $pageposts = $wpdb->get_results($querystr, OBJECT);
         //set_transient( 'st_items_nearby_' . $post_id , $pageposts , 5 * HOUR_IN_SECONDS );
         return $pageposts;
     }
     return false;
 }