Assuming that all should work as expected in every supported browser,
there is only one advisable suggestion:

Limit your initially loaded markers to 300 or lesser.
No one can overlook 9000 markers. Even Firefox users will be thankful
for the limitations.




On Jul 24, 12:01 pm, serna <[email protected]> wrote:
> Hello,
>
> sorry for my bad english
>
> i make a page in localhost with "Using PHP/MySQL with Google Maps"
>
> http://code.google.com/intl/fr/apis/maps/articles/phpsqlajax_v3.html
>
> it's work fine but when i have over 9000 locations it' not work on
> explorer ( 7 or 8)  but it's work on firework
>
> in explorer i have message
> "a script on this page may slow the execution "
>
> when i have only 300 locations  its work on explorer
>
> the script
>
> <script src="http://maps.google.com/maps/api/js?sensor=false";
>             type="text/javascript"></script>
> <script type="text/javascript" src="js/jquery.js"></script>
> <script type="text/javascript" src="http://gmaps-utility-
> library.googlecode.com/svn/trunk/markermanager/release/src/
> markermanager.js"></script>
>
> <script type="text/javascript" >
>     //<![CDATA[
>
>     var customIcons = {
>       "restaurants": {
>         icon: 'http://localhost/totos_france/image/icon_map/
> restaurant.png',
>         shadow: 'http://labs.google.com/ridefinder/images/
> mm_20_shadow.png'
>       },
>       bar: {
>         icon: 'http://labs.google.com/ridefinder/images/
> mm_20_red.png',
>         shadow: 'http://labs.google.com/ridefinder/images/
> mm_20_shadow.png'
>       }
>     };
>
>     function load() {
>       var map = new
> google.maps.Map(document.getElementById("EmplacementDeMaCarte"), {
>         center: new google.maps.LatLng(<?php echo $latit ; ?>, <?php
> echo $longit ; ?>),
>         zoom: <?php echo $zoom ; ?>,
>         mapTypeId: 'roadmap'
>       });
>       var infoWindow = new google.maps.InfoWindow;
>
>       // Change this depending on the name of your PHP file
>       downloadUrl("phpsqlajax_genxml_toto.php", function(data) {
>         var xml = data.responseXML;
>         var markers =
> xml.documentElement.getElementsByTagName("marker");
>         for (var i = 0; i < markers.length; i++) {
>                         var name = markers[i].getAttribute("name");
>           var address = markers[i].getAttribute("address");
>                         var addresstoto = 
> markers[i].getAttribute("addresstoto");
>                   var cptoto = markers[i].getAttribute("cptoto");
>                    var teltoto = markers[i].getAttribute("teltoto");
>             var type = markers[i].getAttribute("typeresto");
>           var point = new google.maps.LatLng(
>               parseFloat(markers[i].getAttribute("lat")),
>               parseFloat(markers[i].getAttribute("lng")));
>            var html = "<span class=\"textebullgras\">" + name + "</
> span> <br/> <span class=\"textebullnormal\">" + address + " <br/> " +
> addresstoto + " " + cptoto + "<br/>" + teltoto  ;
>           var icon = customIcons[type] || {};
>           var marker = new google.maps.Marker({
>             map: map,
>             position: point,
>             icon: icon.icon,
>             shadow: icon.shadow
>           });
>           bindInfoWindow(marker, map, infoWindow, html);
>
>         }
>       });
>     }
>
>     function bindInfoWindow(marker, map, infoWindow, html) {
>       google.maps.event.addListener(marker, 'click', function() {
>         infoWindow.setContent(html);
>         infoWindow.open(map, marker);
>       });
>     }
>
>     function downloadUrl(url, callback) {
>       var request = window.ActiveXObject ?
>           new ActiveXObject('Microsoft.XMLHTTP') :
>           new XMLHttpRequest;
>
>       request.onreadystatechange = function() {
>         if (request.readyState == 4) {
>           request.onreadystatechange = doNothing;
>           callback(request, request.status);
>         }
>       };
>
>       request.open('GET', url, true);
>       request.send(null);
>     }
>
>     function doNothing() {}
>
>     //]]>
> </script>
>
> and
>
> <?php
> require("phpsqlajax_dbinfo.php");
>
> function parseToXML($htmlStr)
> {
> $xmlStr=str_replace('<','<',$htmlStr);
> $xmlStr=str_replace('>','>',$xmlStr);
> $xmlStr=str_replace('"','"',$xmlStr);
> $xmlStr=str_replace("'",''',$xmlStr);
> $xmlStr=str_replace("&",'&',$xmlStr);
> $xmlStr=str_replace("é",'é',$xmlStr);
> $xmlStr=str_replace("è",'è',$xmlStr);
> return $xmlStr;
>
> }
>
> // Opens a connection to a MySQL server
> $connection=mysql_connect ($host, $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());
>
> }
>
> // Select all the rows in the markers table
> $query = "SELECT * FROM table_toto WHERE 1";
> $result = mysql_query($query);
>
> if (!$result) {
>   die('Invalid query: ' . mysql_error());
>
> }
>
> header("Content-type: text/xml");
>
> // Start XML file, echo parent node
> echo '<markers>';
>
> // Iterate through the rows, printing XML nodes for each
> while ($row = @mysql_fetch_assoc($result)){
>   // ADD TO XML DOCUMENT NODE
>   echo '<marker ';
>   echo 'name="' . utf8_encode($row['nom_toto']) . '" ';
>   echo 'address="' . utf8_encode($row['adresse_toto']) . '" ';
>   echo 'addresstoto="' . utf8_encode($row['ville_toto']) . '" ';
>   echo 'cptoto="' . $row['cp_resto'] . '" ';
>   echo 'teltoto="' . $row['tel_resto'] . '" ';
>   echo 'lat="' . $row['lat_resto'] . '" ';
>   echo 'lng="' . $row['lng_resto'] . '" ';
>   echo 'typeresto="' . utf8_encode($row['categorie_toto']) . '" ';
>   echo '/>';
>
> }
>
> // End XML file
> echo '</markers>';
>
> ?>
>
> thank you for help
>
> Serna from France

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps JavaScript API v3" 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-js-api-v3?hl=en.

Reply via email to