To get a new number each time without some sort of bad luck, I would usually suggest using a timestamp. It's in milliseconds in JS, so unless you go way overboard on a couple submits ...
To skip the whole need of using random numbers to avoid caching, you could just use a post instead of get.
$.post('/map_data.php', { 'mid': 1 }, function(data)
{
$('#summary').html(data);
});
Then you need to use $_POST instead of $_GET, but caching won't be an issue. If you really did want a random number, PHP could generate that with rand().