<script>
var geocoder;
var map;
var markersArray = [];
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(51.9189046, 19.1343786);
var mapOptions = {
zoom: 6,
center: latlng
}
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
google.maps.event.addListener(map, 'click', function(e) {
placeMarker(e.latLng, map);
});
}
function codeAddress() {
while(markersArray.length) { markersArray.pop().setMap(null); }
var address = document.getElementById('jform_address').value;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
markersArray.push(marker);
document.getElementById('jform_g_lat').value = results[0].geometry.location.lat();
document.getElementById('jform_g_long').value = results[0].geometry.location.lng();
} else {
alert('Pobranie adresu nie powiodło się, status błędu: ' + status);
}
});
}
function placeMarker(position, map) {
while(markersArray.length) { markersArray.pop().setMap(null); }
marker = new google.maps.Marker({
position: position,
map: map
});
markersArray.push(marker);
document.getElementById('jform_g_lat').value = position.lat();
document.getElementById('jform_g_long').value = position.lng();
map.panTo(position);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>