Voor mijn website wil ik de resultaten ook gaan weergeven in Google Maps.

Als er op submit geklikt wordt kan ik de latitude en longitude meegeven zodat die gebruikt kunnen worden. Dan worden de coordinaten meegenomen van het stadion van het thuis spelende team.

Voorbeeld:

                $lat_d = $row['lat'];
                $lon_d = $row['lng'];
                $coords = $lat_d." ".$lon_d."<br>";
                echo $coords;

result: 51.553551 -0.109772 51.481663 -0.190956 51.560192 -0.012714 51.486687 0.035847 51.397713 -0.085264 51.488178 -0.302524 51.405396 -0.282424 51.367615 -0.204393 51.569420 -0.417483

Deze coordinaten wil ik per stuk met een marker gaan tonen in google maps op mijn website.
Hiervoor heb ik het volgende stukje code toegevoegd aan mijn PHP script die de zoekresultaten genereert.


                echo "        
                <script type=\"text/javascript\">

                var locations = [];

                var map = new google.maps.Map(document.getElementById('map'), {
                    zoom: 10,
                    center: new google.maps.LatLng($lat, $lng),
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                });

                // var infowindow = new google.maps.InfoWindow();

                var i;

                for (i = 0; i < $row.length; i++) {  
                    marker = new google.maps.Marker({
                    position: new google.maps.LatLng(locations[i][0], locations[i][1]),
                    map: map
                    });
                }
                </script>

                ";  


Op plek van var locations moeten de coordination geplaatst worden zodat verderop in het script de markers aangemaakt kunnen worden. Al heel veel verschillende dingen geprobeerd.
Resultaat: helemaal geen marker in Google Maps of alleen de laatste coördinaat.

Wie kan mij hiermee helpen om dit voor elkaar te krijgen?
yes dat is wat ik moet doen maar dat lukt me niet.. :P
ik krijg dat niet voor elkaar waarschijnlijk zie ik het gewoon niet meer omdat ik hier te lang mee loop te klooien ;)
Ja wat jij doet is statisch, maar wat ik doe niet. Die array creëer je dan met je database resultaten.

<?php
// $result = SELECT plaatsnaam,lan,lng FROM tabel
// while ($row = mysql_fetch_assoc($result)) {
// 	$locations_array[] = array($row['plaatsnaam'],$row['lan'],$row['lng']);
// }
?>
<script>
var locations = <?php echo json_encode($locations_array); ?>;
// etc... 

Moet wel heel erg worden voorgekauwd ;)
Er hoeft helemaal niet veel voorgekauwd worden maar ik heb inmiddels zoveel dingen geprobeerd dat ik door de bomen het bos niet meer zie ;)

maar de output hiervan is:


                      $locations_array[] = array($row['lat'],$row['lng']);
                      echo json_encode($locations_array); // ff om te testen wat de output is.


[["51.553551","-0.109772"]] [["51.553551","-0.109772"],["51.481663","-0.190956"]] [["51.553551","-0.109772"],["51.481663","-0.190956"],["51.560192","-0.012714"]] [["51.553551","-0.109772"],["51.481663","-0.190956"],["51.560192","-0.012714"],["51.486687","0.035847"]] [["51.553551","-0.109772"],["51.481663","-0.190956"],["51.560192","-0.012714"],["51.486687","0.035847"],["51.397713","-0.085264"]] [["51.553551","-0.109772"],["51.481663","-0.190956"],["51.560192","-0.012714"],["51.486687","0.035847"],["51.397713","-0.085264"],["51.488178","-0.302524"]] [["51.553551","-0.109772"],["51.481663","-0.190956"],["51.560192","-0.012714"],["51.486687","0.035847"],["51.397713","-0.085264"],["51.488178","-0.302524"],["51.405396","-0.282424"]] [["51.553551","-0.109772"],["51.481663","-0.190956"],["51.560192","-0.012714"],["51.486687","0.035847"],["51.397713","-0.085264"],["51.488178","-0.302524"],["51.405396","-0.282424"],["51.367615","-0.204393"]] [["51.553551","-0.109772"],["51.481663","-0.190956"],["51.560192","-0.012714"],["51.486687","0.035847"],["51.397713","-0.085264"],["51.488178","-0.302524"],["51.405396","-0.282424"],["51.367615","-0.204393"],["51.569420","-0.417483"]]

Gaat nog niet helemaal zoals het zou moeten. Maar ga wel even verder puzzelen. Bedankt voor je hulp so far!
Let op dat je wel een eerste argument moet meegeven he. Tenminste, zonder deed ie t bij mij ook niet. Daarom had ik er "plaatsnaam" bij gezet.

Wat is er mis met die output? Die geef je dus aan javascript mee zoals in m'n voorbeeld.
De output zouden hierbij 9 coordinaten moeten zijn en er zitten dubbele tussen.


$locations_array[] = array($row['plaatsnaam'],$row['lat'],$row['lng']);
echo json_encode($locations_array);

[[null,"51.553551","-0.109772"]] [[null,"51.553551","-0.109772"],[null,"51.481663","-0.190956"]] [[null,"51.553551","-0.109772"],[null,"51.481663","-0.190956"],[null,"51.560192","-0.012714"]] [[null,"51.553551","-0.109772"],[null,"51.481663","-0.190956"],[null,"51.560192","-0.012714"],[null,"51.486687","0.035847"]] [[null,"51.553551","-0.109772"],[null,"51.481663","-0.190956"],[null,"51.560192","-0.012714"],[null,"51.486687","0.035847"],[null,"51.397713","-0.085264"]] [[null,"51.553551","-0.109772"],[null,"51.481663","-0.190956"],[null,"51.560192","-0.012714"],[null,"51.486687","0.035847"],[null,"51.397713","-0.085264"],[null,"51.488178","-0.302524"]] [[null,"51.553551","-0.109772"],[null,"51.481663","-0.190956"],[null,"51.560192","-0.012714"],[null,"51.486687","0.035847"],[null,"51.397713","-0.085264"],[null,"51.488178","-0.302524"],[null,"51.405396","-0.282424"]] [[null,"51.553551","-0.109772"],[null,"51.481663","-0.190956"],[null,"51.560192","-0.012714"],[null,"51.486687","0.035847"],[null,"51.397713","-0.085264"],[null,"51.488178","-0.302524"],[null,"51.405396","-0.282424"],[null,"51.367615","-0.204393"]] [[null,"51.553551","-0.109772"],[null,"51.481663","-0.190956"],[null,"51.560192","-0.012714"],[null,"51.486687","0.035847"],[null,"51.397713","-0.085264"],[null,"51.488178","-0.302524"],[null,"51.405396","-0.282424"],[null,"51.367615","-0.204393"],[null,"51.569420","-0.417483"]]
Het lijkt er zo op dat je echo binnen de while() staat. Dus dan dan komt er elke loop inderdaad 1 bij.
Zet je echo er dus buiten.
Yess, dat was het!
Nu werkt het :)
Michael - op 09/03/2020 23:07:59

Top!


Bedankt voor je hulp!
Graag gedaan!

Reageren