Pass data from wordpress to javascript in JSON

Try wrapping your array in json_encode():

function add_map_data() {

        $objName = "MapData";
        $array = array(
            "MapViewLatitude" => "51.505",
            "MapViewLongitude" => "-0.09",

        );

        wp_enqueue_script( 'mapdata', get_bloginfo('template_url').'/custom/map.js', null, null, false );
        wp_localize_script( 'mapdata', $objName, array('my_arr' =>json_encode($array)));
}
add_action( 'wp_enqueue_scripts', 'add_map_data');

Next step is to parse the JSON string back to a JSON object in JavaScript so:

//first escape the string then parse this string and convert it into a JSON object
var MapDataJSON = jQuery.parseJSON(MapData.my_arr.replace(/"/g, '"'));