There isn’t any way to do this using WP_Query() or get_posts().
To to this your would need to query the DB directly using $wpdb
A quick example of a basic query to get meta from published posts. This is not perfect, just an example of what needs doing
SELECT wp_posts.ID, wp_postmeta.meta_value
FROM wp_posts, wp_postmeta
WHERE wp_posts.post_status = "publish" AND
wp_posts.ID = wp_post_meta.post_id AND
wp_postmeta.meta_key = "location"