login  Naam:   Wachtwoord: 
Registreer je!
 Forum

niet alle markers worden op google-maps weergegeven, terwijl ze wel in de source-code van de pagina staan weergegeven

Offline peps03 - 18/05/2010 16:36
Avatar van peps03Nieuw lid Hoi allen,

De titel omschrijft het probleem al grotendeels. De markers van verschillende locaties in een stad worden niet allemaal weergegeven terwijl ze wel in de source-code van de betreffende pagina te zien zijn.

Met php worden de marker-locaties uit een database met adressen gehaald. Tot 8 a 9 markers worden ze allemaal weergeven. Bij 30 markers vaak maar 8 a 15 (max).

ik zoek me al weken rot naar een oplossing en ben er nog niet uitgekomen.

hulp wordt zeer gewaardeerd!

6 antwoorden

Gesponsorde links
Offline WouterPSV - 18/05/2010 19:09 (laatste wijziging 18/05/2010 19:39)
Avatar van WouterPSV Lid Je hebt in een database coördinaten staan en die wil je allemaal tegelijk op een googlemap plaatsen. Geloof dat je dat bedoeld ??

Zoja:

Misschien heb je hier iets aan. Coordinaten plaatsen met een while lus

Weet niet meer wat de fout was toen.
=====================================

P.S. Als dit niet is wat je bedoeld misschien even stukje code plaatsen
Offline peps03 - 18/05/2010 20:24
Avatar van peps03 Nieuw lid bedankt voor de reactie!

de adressen staan in een database, en de markers worden op de kaart geplaatst, echter niet allemaal, hoewel ze wel in de html source-code staan..

hier de code:

  1. <script type="text/javascript">
  2. //<![CDATA[
  3.  
  4. $(function(){
  5.  
  6. if(GBrowserIsCompatible()) {
  7.  
  8. var map = new GMap2(document.getElementById("bigmap"));
  9. var geo = new GClientGeocoder();
  10. var icon = new GIcon();
  11. icon.image = "<?php echo $_BASEURL_SITE ?>images/marker.gif";
  12. icon.iconSize = new GSize(25,25);
  13. icon.transparent = "<?php echo $_BASEURL_SITE ?>images/marker_ie.png";
  14. icon.iconAnchor = new GPoint(12,13);
  15. icon.infoWindowAnchor = new GPoint(25,0);
  16.  
  17. /** zoom city */
  18. geo.getLatLng(
  19. "<?php echo $this->navigation->parsedPlaats() ?>, Nederland",
  20. function(point) {
  21. if (!point) {
  22.  
  23. } else {
  24. map.setCenter(point, 10);
  25. }
  26. }
  27. );
  28.  
  29. <?php
  30. $pc = count($results);
  31. for($p=0; $p<$pc; $p++){
  32. $oId = $results[$p];
  33. $city = getObjectField($oId, "plaats");
  34. $postal = getObjectField($oId, "postcode");
  35. $address = getObjectField($oId, "adres");
  36. if($city != -1){
  37. $city = getObjectField($city, "naam");
  38. }
  39. $url = FriendlyURLs::getObjectURL($city, $oId);
  40.  
  41. ?>
  42. geo.getLatLng(
  43. "<?php echo $address .", ". $postal ?>, Nederland",
  44. function(point) {
  45. if (!point) {
  46.  
  47. } else {
  48. var marker = new GMarker(point, {
  49. icon: icon,
  50. title: "<?php echo $address .", ". $city ?>"
  51. });
  52. GEvent.addListener(marker, "click", function() {
  53. marker.openInfoWindowHtml('<div><a href="<?php echo $url ?>"><?php echo $address .", ". $city ?></a><br /><?php $this->util->outputFirstThumbnail($oId) ?></div>');
  54. });
  55. map.addOverlay(marker);
  56. }
  57. }
  58. );
  59.  
  60. <?php
  61. }
  62. ?>
  63.  
  64. map.addControl(new GSmallMapControl());
  65. map.addControl(new GMapTypeControl());
  66. map.disableScrollWheelZoom();
  67.  
  68. $(document).unload(function(){
  69. GUnload();
  70. });
  71. }
  72. });
  73.  
  74. //]]>
  75. </script>


in die link staat niet echt iets, alleen iets over een while lus?? zou ik daar wat aan hebben? zo ja, hoe implementeer ik dat?

Alvast bedankt!!
Offline WouterPSV - 19/05/2010 13:13
Avatar van WouterPSV Lid Het zijn adressen die er in staan??

Want dan moet je mijn code zo aanpassen dat hij in plaats van de coördinaten pakt het met jou adres doet.
Of dit mogelijk is zou ik zo niet weten. heb het ooit welk voor elkaar gekregen met een routeplanner.

Een while lus zorg voor dat je meerder kunt ophalen uit de database. Dus bijvoorbeeld met nieuws berichten. Je kunt ook een for gebruiken.

Verschil tussen: While Lus & For Lus
Offline peps03 - 19/05/2010 17:44
Avatar van peps03 Nieuw lid Het probleem is niet het op halen van de adressen oid, alle adressen van ALLE markers worden netjes in de source code weergegeven, het probleem is dat ze niet allemaal op google maps verschijnen.

dit kan meerdere oorzaken hebben, heb ik gelezen op internet, alleen het is mij nog niet gelukt een oplosssing te vinden.

Oorzaak 1. er worden teveel (marker?) aanvragen tegelijk bij google gedaan waar door niet alle markers op de map verschijnen (al lijkt 30 markers mij nog wel overkomelijk)

Oorzaak 2. Heeft iets met het zoom niveau van de kaart te maken waar door ze niet allemaal worden weergegeven, ik heb echter geen zoom niveau bij de markers ingesteld

word er gek van, probeer dit probleem nu al 3 weken op te lossen..
Offline Flex1986 - 19/05/2010 18:28
Avatar van Flex1986 Gouden medaille

Senior Member
Ik denk dat het beter is om al je adressen op te slaan in een javascript en deze loopen en dan de marker toevoegen. In plaats van dezelfde functie 20 keer laten echoen.

Wat je dan bij het loopen door de array kan doen is een timeout erin zetten want volgens mij kan je niet ongelimiteerd aantal requests per seconde doen. Ik heb namelijk hetzelfde probleem gehad en een timeout erop heeft dit verholpen.
Offline peps03 - 19/05/2010 20:30
Avatar van peps03 Nieuw lid de adressen kunnen niet ik een js , ze komen uit een database die dagelijks wordt geupdate.

hoe kan ik een time out toevoegen (aan het geposte script)?! als dat mijn probleem zou kunnen verhelpen..


Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.217s