The idea is to have a map and sortable table of locations on the same
page. When the user clicks "Map it" he opens the infowindow on the map
at the corresponding location. The primary key field from the MySQL
database is UniqueID.

I fee like I'm close, but my newness to JavaScript has me missing
something basic. I'm still developing it on my local machine, so I
don't have a link yet. But if you can spot my mistake in the code, I'd
appreciate it.

Thanks for taking a look,

Dan

<code>
<!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"; xmlns:v="urn:schemas-
microsoft-com:vml">



  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/
>
    <title>courier-journal.com/gas</title>
    <script
       type="text/javascript" src="http://maps.google.com/maps?
file=api&v=2&key=ABQIAAAAR0TWf73rulOP_SnETQPFKxRj5djmSsmVAgDaRb1psFcJlThRhxSjxifqM96NjrBsBn2XrZWSE-
QQqQ"></script>
<script src="mapiconmaker.js" type="text/javascript"></script>
<script type="text/javascript" src="jquery-latest.js"></script>
<script type="text/javascript" src="jquery.tablesorter.js"></script>

        <script type="text/javascript">
    //<![CDATA[

        var gmarkers = [];


    function load() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());"<b>$" +
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(38.23,-85.63), 10);

        GDownloadUrl("mapxml.php", function(data) {
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName
("marker");
          for (var i = 0; i < markers.length; i++) {
            var name = markers[i].getAttribute("Regular");
            var address = markers[i].getAttribute("Address");
            var station = markers[i].getAttribute("Station");
            var point = new GLatLng(parseFloat(markers[i].getAttribute
("lat")),
                                    parseFloat(markers[i].getAttribute
("lng")));
                        var UniqueID = markers[i].getAttribute("UniqueID");

            var marker = createMarker(point, name, address, station,
UniqueID);
            gmarkers[i] = marker;
            map.addOverlay(marker);
          }
        });
      }
    }

    function createMarker(point, name, address, station, UniqueID) {
                var iconOptions = {};
                        iconOptions.width = 40;
                        iconOptions.height = 20;
                        iconOptions.primaryColor = "#082C3C";
                        iconOptions.label = "$" + name;
                        iconOptions.labelSize = 0;
                        iconOptions.labelColor = "#E5E7B5";
                        iconOptions.shape = "roundrect";

                var icon = MapIconMaker.createFlatIcon(iconOptions);
            var marker = new GMarker(point, {icon: icon});
        var html = "<div class=bubble>  <b>$" + name + "</b> <br/>" +
address + "<br/>" + station + "<br/>" + UniqueID;
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }


$(document).ready(function()
    {
        $("#table").tablesorter( {sortList: [[5,1]]} );
    }
);
    // Opens info window when click on link in table

    function myclick(i) {

        GEvent.trigger(gmarkers[UniqueID], "click");

    }

  </script>

  <body onload="load()" onunload="GUnload()">
    <div id="map" style="width: 100%; height: 375px"></div>


<style type="text/css">

div.bubble      {
                font-family:arial;
                font-size: 9pt;
                text-align: left;


}

table.tablesorter {
        font-family:arial;
        background-color: #CDCDCD;
        margin:10px 0pt 15px;
        font-size: 8pt;
        width: 100%;
        text-align: left;
}
table.tablesorter thead tr th, table.tablesorter tfoot tr th {
        background-color: #E1E8C4;
        border: 1px solid #FFF;
        font-size: 8pt;
        padding: 4px;
}
table.tablesorter thead tr .header {
        background-image: url(img/bg.gif);
        background-repeat: no-repeat;
        background-position: center right;
        cursor: pointer;
}
table.tablesorter tbody td {
        color: #082C3C;
        padding: 4px;
        background-color: #FFF;
        vertical-align: top;
}
table.tablesorter tbody tr.odd td {
        background-color:#F0F0F6;
}
table.tablesorter thead tr .headerSortUp {
        background-image: url(img/asc.gif);
}
table.tablesorter thead tr .headerSortDown {
        background-image: url(img/desc.gif);
}
table.tablesorter thead tr .headerSortDown, table.tablesorter thead
tr .headerSortUp {
background-color: #BBC89C;
}

</style>

</head>



<?php

  include ("gasconnect.php");

$query = 'SELECT Regular, Address, Station, ZIP, Poster, Date FROM gas
WHERE Date > DATE_SUB(CURDATE(), INTERVAL 1 DAY)';
$result = mysql_query($query);

echo "<table id='table' class='tablesorter' cellspacing='1'>
        <thead>
        <tr><th><b>Regular</th><th>Address</th><th>Station</th><th>ZIP</
th><th>Poster</th><th>Date</th>";

        echo "</tr></thead>";



        echo "<tbody>";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("
                <tr>
                        <td>$%s</td>
                        <td>%s</td>
                        <td>%s</td>
                        <td>%s</td>
                        <td>%s</td>
                        <td>%s</td>
                        <td><a href='#top' onClick='myclick(i)'>Map It</a> </td>
                </tr>",
                        $row["Regular"],
                        $row["Address"],
                        $row["Station"],
                        $row["ZIP"],
                        $row["Poster"],
                        date("M j h:i A", strtotime($row["Date"])));
                }
echo "</tbody>
</table> ";

?>

</html>

</code>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Maps API" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Maps-API?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to