Mapa musi mieć zadeklarowaną wysokość bo inaczej się nie wyświetli. Jeżeli chodzi o initMap to w callbacku nigdy mi to nie działało prawidłowo. Zawszę wrzucałem to w funkcję którą odpalałem w <body onload="nazwaFunkcji();"> np.:
<!DOCTYPE html>
<html lang="pl">
<head>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyD0wwRPciyS5YgoRKeuQl18ojvQef0_rck"></script>
<script>
var wysrodkuj = new google.maps.LatLng(50.0206861, 22);
function myMap() {
var mapCanvas = document.getElementById("map");
var mapOptions = {
center: wysrodkuj,
zoom: 8,
};
var map = new google.maps.Map(mapCanvas, mapOptions);
}
</script>
<style type="text/css">
div#map { height: 600px; }
</style>
</head>
<body onload="myMap();">
<div id="map">Mapa</div>
</body>
</html>