sorry the link is to a different virsion of my map the post is for
http://sharplesenterprise.com.au/Gmaps3/MarkersLocation

On Jul 8, 11:46 am, sharples <[email protected]> wrote:
> Im using a mysql data base and php to query the database and the map
> api to show the map with our stores within a certain radius of the
> search location , with have two type of stores so i added a extra
> field to the mysql table called type and assigned a red or blue marker
> to the different stores ,
> My php xml output has the store type so the page get a valid result
> but it show red markers for all stores
> so i think it is the javascript (api) that not working or wrong as the
> php query works and the xml out put works
> here are my files
>
> ##### html java script #######################
>
> <html xmlns="http://www.w3.org/1999/xhtml";>
>   <head>
>     <meta http-equiv="content-type" content="text/html; charset=utf-8"/
>
>     <title>Markers.sharplesenterprise.com.au</title>
>     <script src="http://maps.google.com/maps?file=api&v=2&key=@@@@@";
>             type="text/javascript"></script>
>
>     <script type="text/javascript">
>
>         //<![CDATA[
>         // set up two var's for the custom icons and download then --
> fix download icons and save to disk stop downloads
>         var iconBlue = new GIcon();
>         iconBlue.image = 'http://labs.google.com/ridefinder/images/
> mm_20_blue.png';
>         iconBlue.shadow = 'http://labs.google.com/ridefinder/images/
> mm_20_shadow.png';
>         iconBlue.iconSize = new GSize(12, 20);
>         iconBlue.shadowSize = new GSize(22, 20);
>         iconBlue.iconAnchor = new GPoint(6, 20);
>         iconBlue.infoWindowAnchor = new GPoint(5, 1);
>
>         var iconRed = new GIcon();
>         iconRed.image = 'http://labs.google.com/ridefinder/images/
> mm_20_red.png';
>         iconRed.shadow = 'http://labs.google.com/ridefinder/images/
> mm_20_shadow.png';
>         iconRed.iconSize = new GSize(12, 20);
>         iconRed.shadowSize = new GSize(22, 20);
>         iconRed.iconAnchor = new GPoint(6, 20);
>         iconRed.infoWindowAnchor = new GPoint(5, 1);
>
>         var customIcons = [];
>    // var customIcons = ['type'];
>         customIcons["Movingtogether"] = iconBlue;
>         customIcons["Medicaltogether"] = iconRed;
>
>         var map;
>         var geocoder;
>
>         //checks if browser is compatible eg. javascript, XHTML
>         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(-33.894115, 151.266006), 4);
>             }
>         }
>         //call search location method by looking up the location in
> the text box and then GEOCoding the address for SQL query
>         function searchLocations() {
>             var address = document.getElementById
> ('addressInput').value;
>             geocoder.getLatLng(address, function(latlng) {
>                 if (!latlng) {
>                     alert(address + ' not found');
>                 } else {
>                     searchLocationsNear(latlng);
>                 }
>             });
>         }
>         //takes the values [lat-lng] returned by search location and
> then run a query in the database to find
>         //sites that are within a radius of the address passed to it.
>         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(-33.894115, 151.266006),
> 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 type = markers[i].getAttribute('type');
>                     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,
> type);
>                     map.addOverlay(marker);
>                     var sidebarEntry = createSidebarEntry(marker,
> name, address, type, distance);
>                     sidebar.appendChild(sidebarEntry);
>                     bounds.extend(point);
>                 }
>                 map.setCenter(bounds.getCenter(),
> map.getBoundsZoomLevel(bounds));
>             });
>         }
>
>         function createMarker(point, name, address, type) {
>             var marker = new GMarker(point, customIcons[type]);
>             var html = '<b>' + name + '</b> <br/>' + address;
>             GEvent.addListener(marker, 'click', function() {
>                 marker.openInfoWindowHtml(html);
>             });
>             return marker;
>         }
>
>         function createSidebarEntry(marker, name, address, type,
> distance) {
>             var div = document.createElement('div');
>             var html = '<b>' + name + '</b> (' + distance.toFixed(1) +
> ')<br/>' + 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>
>       <style type="text/css">
>           #addressInput
>           {
>               width: 251px;
>           }
>       </style>
>   </head>
> <h1 style="text-align: center; color: #0000FF">Sharples Enterprise
> Find Sites Near Location</h1>
>   <body onload="load()" onunload="GUnload()">
>
>     Address: <input type="text" id="addressInput"/>
>
>     Radius: <select id="radiusSelect">
>
>       <option value="5" selected>5</option>
>       <option value="10">10</option>
>       <option value="15">15</option>
>       <option value="25">25</option>
>       <option value="50">50</option>
>       <option value="100">100</option>
>       <option value="200">200</option>
>
>     </select>
>
>     <input type="button" onclick="searchLocations()" value="Search
> Locations"/>
>     <br/>
>     <br/>
> <div style="width:900px; font-family:Arial,
> sans-serif; font-size:11px; border:1px solid black">
>   <table>
>     <tbody>
>       <tr id="cm_mapTR">
>
>         <td width="300" valign="top"> <div id="sidebar"
> style="overflow: auto; height: 600px; font-size: 11px; color: #000"></
> div>
>
>         </td>
>         <td> <div id="map" style="overflow: hidden; width:600px;
> height:600px"></div> </td>
>
>       </tr>
>     </tbody>
>   </table>
> </div>
>   </body>
> </html>
>
> #######################################################
> php query make xml
> ##################################################
>
> <?php
> require("phpsqlsearch_dbinfo.php");
>
> // Get parameters from URL
> $center_lat = $_GET["lat"];
> $center_lng = $_GET["lng"];
> $radius = $_GET["radius"];
>
> // Start XML file, create parent node
> $dom = new DOMDocument("1.0");
> $node = $dom->createElement("markers");
> $parnode = $dom->appendChild($node);
>
> // Opens a connection to a mySQL server
> $connection=mysql_connect (localhost, $username, $password);
> if (!$connection) {
>   die("Not connected : " . mysql_error());
>
> }
>
> // Set the active mySQL database
> $db_selected = mysql_select_db($database, $connection);
> if (!$db_selected) {
>   die ("Can\'t use db : " . mysql_error());
>
> }
>
> // Search the rows in the markers table
> $query = sprintf("SELECT address, name, lat, lng, type, ( 3959 * acos
> ( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) -
> radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS
> distance FROM markers HAVING distance < '%s' ORDER BY distance LIMIT
> 0 , 20",
>   mysql_real_escape_string($center_lat),
>   mysql_real_escape_string($center_lng),
>   mysql_real_escape_string($center_lat),
>   mysql_real_escape_string($radius));
> $result = mysql_query($query);
>
> $result = mysql_query($query);
> if (!$result) {
>   die("Invalid query: " . mysql_error());
>
> }
>
> //header("Content-type: text/xml");
>
> // Iterate through the rows, adding XML nodes for each
> while ($row = @mysql_fetch_assoc($result)){
>   $node = $dom->createElement("marker");
>   $newnode = $parnode->appendChild($node);
>   $newnode->setAttribute("name", $row['name']);
>   $newnode->setAttribute("address", $row['address']);
>   $newnode->setAttribute("lat", $row['lat']);
>   $newnode->setAttribute("lng", $row['lng']);
>   $newnode->setAttribute("type", $row['type']);
>   $newnode->setAttribute("distance", $row['distance']);
>
> }
>
> echo $dom->saveXML();
> ?>
--~--~---------~--~----~------------~-------~--~----~
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