﻿function showPoint(lat, lon) {
    var point = new google.maps.LatLng(lat, lon);

    map.setCenter(point);
    map.setZoom(13);

    var marker = new google.maps.Marker({
        position: point,
        map: map
    });
}

function showPointWithMap(map, lat, lon) {
    var point = new google.maps.LatLng(lat, lon);

    map.setCenter(point);
    map.setZoom(13);

    var marker = new google.maps.Marker({
        position: point,
        map: map
    });
}

function showPointWithLink(lat, lon, title, url) {
    var point = new google.maps.LatLng(lat, lon);

    map.setCenter(point);
    map.setZoom(13);

    var infowindow = new google.maps.InfoWindow({
        content: "<a href='" + url + "'>" + title + "</a>"
    });

    var marker = new google.maps.Marker({
        position: point,
        map: map,
        title: title
    });

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.open(map, marker);
    });
}

function showAddress(address) {
    if (geocoder) {
        geocoder.geocode({ 'address': address },
            function(results, status) {
                if (status == google.maps.GeocoderStatus.OK) {
                    map.setCenter(results[0].geometry.location);
                    map.setZoom(13);
                    var marker = new google.maps.Marker({
                        map: map,
                        position: results[0].geometry.location
                    });
                }
            }
        );
    }
}

function showAddressWithLink(address, title, url) {
    if (geocoder) {
        geocoder.geocode({ 'address': address },
            function(results, status) {
                if (status == google.maps.GeocoderStatus.OK) {
                    map.setCenter(results[0].geometry.location);
                    map.setZoom(13);
                    var infowindow = new google.maps.InfoWindow({
                        content: "<a href='" + url + "'>" + title + "</a>"
                    });
                    var marker = new google.maps.Marker({
                        map: map,
                        position: results[0].geometry.location,
                        title: title
                    });
                    google.maps.event.addListener(marker, 'click', function() {
                        infowindow.open(map, marker);
                    });
                }
            }
        );
    }
}

google.maps.Polygon.prototype.getBounds = function () {
    var bounds = new google.maps.LatLngBounds();
    var paths = this.getPaths();
    var path;
    for (var i = 0; i < paths.getLength(); i++) {
        path = paths.getAt(p);
        for (var ii = 0; ii < path.getLength(); ii++) {
            bounds.extend(path.getAt(ii));
        }
    }
    return bounds;
}
