Show different Google Map markers for different post_meta values

Meta seems like a fine place for storing this data.

To make it more compact:

$markers = array(
    'carrot' => 'marker_url_1',
    'beet'   => 'marker_url_2',
);

$icon = isset( $markers[ $veggie_type ] ) ? $markers[ $veggie_type ] : $markers[0];

Or if you are sure you have markers for each type and you can rename the marker files, go with

$icon = 'marker_' . $veggie_type . '.png';// png format is better for small images