Stick to filtering one value at a time to keep it simple, and add filters for the colors to be used by the child theme:
add_filter( 'post_thumbnail_html', 'map_thumbnail');
function map_thumbnail($html) {
$my_post = get_post($post->ID);
$defaultcolor1 = "#??????"; // parent theme default
$defaultcolor2 = "#??????"; // parent theme default
$water_color = apply_filters('water_color',$defaultcolor1);
$tree_color = apply_filters('tree_color',$defaultcolor2);
if($my_post->post_name == "contact") {
$html="<img height="100%" width="100%" src="http://maps.googleapis.com/maps/api/staticmap?watercolor=".$water_color.'treecolor=".$tree_color."">';
}
return $html;
}
So in the child theme you can use:
add_filter('water_color','custom_water_color');
add_filter('tree_color','custom_tree_color');
function custom_water_color() {return '#fb0000';}
function custom_tree_color() {return '#c0e8e8';}