Google Maps using API

From mi-linux
Revision as of 20:41, 1 April 2009 by 0709436 (talk | contribs) (New page: Hello all I will be showing you how you can implement the Google Maps into your website. 1) You will firstly need to sign up for the API service which is provided by google. You can cl...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Hello all I will be showing you how you can implement the Google Maps into your website.

1) You will firstly need to sign up for the API service which is provided by google.

You can click here to sign up http://code.google.com/apis/maps/signup.html

Once you have done this you can use an Example of this code below to create a page in which people would have access to Google Maps through your website.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
   <title>Google Maps AJAX + MySQL/PHP Example</title>
   <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAjU0EJWnWPMv7oQ-jjS7dYxSPW5CJgpdgO_s4yyMovOaVh_KvvhSfpvagV18eOyDWu7VytS6Bi1CWxw"
           type="text/javascript"></script>
   <script type="text/javascript">
   //<![CDATA[
   var map;
   var geocoder;
   function load() {
     if (GBrowserIsCompatible()) {
       geocoder = new GClientGeocoder();
       map = new GMap2(document.getElementById('map'));
       map.addControl(new GSmallMapControl());
       map.addControl(new GMapTypeControl());
       map.setCenter(new GLatLng(40, -100), 4);
     }
   }
  function searchLocations() {
    var address = document.getElementById('addressInput').value;
    geocoder.getLatLng(address, function(latlng) {
      if (!latlng) {
        alert(address + ' not found');
      } else {
        searchLocationsNear(latlng);
      }
    });
  }
  function searchLocationsNear(center) {
    var radius = document.getElementById('radiusSelect').value;
    var searchUrl = 'phpsqlsearch_genxml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius;
    GDownloadUrl(searchUrl, function(data) {
      var xml = GXml.parse(data);
      var markers = xml.documentElement.getElementsByTagName('marker');
      map.clearOverlays();
      var sidebar = document.getElementById('sidebar');
      sidebar.innerHTML = ;
      if (markers.length == 0) {
        sidebar.innerHTML = 'No results found.';
        map.setCenter(new GLatLng(40, -100), 4);
        return;
      }
      var bounds = new GLatLngBounds();
      for (var i = 0; i < markers.length; i++) {
        var name = markers[i].getAttribute('name');
        var address = markers[i].getAttribute('address');
        var distance = parseFloat(markers[i].getAttribute('distance'));
        var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
                                parseFloat(markers[i].getAttribute('lng')));
        
        var marker = createMarker(point, name, address);
        map.addOverlay(marker);
        var sidebarEntry = createSidebarEntry(marker, name, address, distance);
        sidebar.appendChild(sidebarEntry);
        bounds.extend(point);
      }
      map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
    });
  }
   function createMarker(point, name, address) {
     var marker = new GMarker(point);
     var html = '' + name + ' 
' + address; GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml(html); }); return marker; }
   function createSidebarEntry(marker, name, address, distance) {
     var div = document.createElement('div');
     var html = '' + name + ' (' + distance.toFixed(1) + ')
' + address; div.innerHTML = html; div.style.cursor = 'pointer'; div.style.marginBottom = '5px'; GEvent.addDomListener(div, 'click', function() { GEvent.trigger(marker, 'click'); }); GEvent.addDomListener(div, 'mouseover', function() { div.style.backgroundColor = '#eee'; }); GEvent.addDomListener(div, 'mouseout', function() { div.style.backgroundColor = '#fff'; }); return div; } //]]> </script> </head>
 <body onload="load()" onunload="GUnload()">
   Address: <input type="text" id="addressInput"/>
    
   Radius: <select id="radiusSelect">
     <option value="25" selected>25</option>
     <option value="100">100</option>
     <option value="200">200</option>
   </select>
   <input type="button" onclick="searchLocations()" value="Search Locations"/>
   

<tbody> </tbody>
 </body>

</html>

This is what the finished website would look like: http://gmaps-samples.googlecode.com/svn/trunk/articles-phpsqlsearch/phpsqlsearch_map.html

There might be a few things which might not be correct feel free to edit and update.