Passando endereço para o Google Maps no carregamento da página

Está com problemas para inicializar um mapa do Google usando geocodificação. O primeiro problema é com vírgulas sendo usadas na string $ gmap, o segundo problema é obter um "gmap_initialize is not defined". Eu sei que tudo fora da função está correto, alguma idéia?

<?php $gmap = "Prague, Czech Republic"; ?>

<script type="text/javascript">
function gmap_initialize() {
var geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': <?php echo $gmap; ?>}, function(results, status) {
  if (status == google.maps.GeocoderStatus.OK) {
    var options = {
      zoom: 16,
      position: results[0].geometry.location,
      center: results[0].geometry.location,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), options);

    var marker = new google.maps.Marker({
      map: map,
      position: results[0].geometry.location
    });
  } else {
    alert("Geocode was not successful for the following reason: " + status);
  }
});

}
</script>

questionAnswers(3)

yourAnswerToTheQuestion