jQuery(document).ready(function($) { function initialize() { var lat = ($('#lat').val()) ? $('#lat').val() : -33.8688; var lng = ($('#lang').val()) ? $('#lang').val() : 151.2195; var mapOptions = {center: new google.maps.LatLng(lat, lng),zoom: 15,mapTypeId: google.maps.MapTypeId.ROADMAP}; var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions); var input = document.getElementById('searchTextField'); var autocomplete = new google.maps.places.Autocomplete(input); autocomplete.bindTo('bounds', map); var infowindow = new google.maps.InfoWindow(); if($('#lat').val()){ var marker = new google.maps.Marker({position: new google.maps.LatLng(lat, lng),map: map});} else{ var marker = new google.maps.Marker({map: map});} google.maps.event.addListener(autocomplete, 'place_changed', function() { infowindow.close(); var place = autocomplete.getPlace(); if (place.geometry.viewport) { map.fitBounds(place.geometry.viewport); } else { map.setCenter(place.geometry.location); map.setZoom(17); // Why 17? Because it looks good. } var image = new google.maps.MarkerImage(place.icon, new google.maps.Size(71, 71), new google.maps.Point(0, 0), new google.maps.Point(17, 34), new google.maps.Size(35, 35)); marker.setIcon(image); marker.setPosition(place.geometry.location); var address = ''; if (place.address_components) { address = [(place.address_components[0] && place.address_components[0].short_name || ''), (place.address_components[1] && place.address_components[1].short_name || ''), (place.address_components[2] && place.address_components[2].short_name || '')].join(' '); } $('#event_place').val(place.name); $('#lang').val(marker.position.lng()); $('#lat').val(marker.position.lat()); infowindow.setContent('