Source code of a graphical tool for drawing and computing distances over Google maps.
Run Tool | index.html | main.css | formatters.js | geoCircle.js | geoCode.js | geo.js | index.js | mapControls.js | tableManager.js | util.js | wayPoint.js | wayPointsManager.js
// Copyright 2006-2008 (c) Paul Demers <paul@acscdg.com> // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License along // with this program; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA., or visit one // of the links here: // http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt // http://www.acscdg.com/LICENSE.txt ////////////////////////////////////////////////////////////////// // Map drawing and distance tools. // // JavaScript objects that work with the Google geocoder object. // Web site with this code running: http://www.acscdg.com/ // // // //// Dependencies: // _map from index.js // Google maps for geocode and geopoint. var _geocoder; // The geocoder is only created once. var _addressToGeoCode; // Save the address, for the error message. // //// Called from the Google geocode when it is done. function foundLocation(response) { if ((response == null) || (response.Status.code != G_GEO_SUCCESS)) { alert("\"" + _addressToGeoCode + "\" not found"); } else { var place = response.Placemark[0]; var point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]); _map.setCenter(point); var marker = new GMarker(point, {title: place.address} ); _map.addOverlay(marker); marker.openInfoWindowHtml(place.address); GEvent.trigger(_map, "click", marker, point); // Generate a click at this point, // which adds the point to the current course. } } // //// Called when the "Find" button is pushed. //// Reads the place name from the form, then calls the geocoder. function findLocation() { _addressToGeoCode = document.forms[0].q.value; _geocoder.getLocations(_addressToGeoCode, foundLocation); } // //// Create and cache the Google geocoder object. //// caller must destroy _geocoder when no longer needed. function initGeoCoder() { _geocoder = new GClientGeocoder(); } //// End of geocoding. //