Beste tweakers,
In een mysql database staan namen met locaties (latitude, longitude). Deze wil ik in google maps weergegeven. Het weergeven van 1 marker vanuit de database gaat goed. Maar als ik een foreach loop toe wil voegen zodat automatisch meerdere markers geplot worden werkt het niet meer. Kan iemand mij helpen? Hier onder is de querry en de google maps code weergegeven.
Alvast bedankt.
In een mysql database staan namen met locaties (latitude, longitude). Deze wil ik in google maps weergegeven. Het weergeven van 1 marker vanuit de database gaat goed. Maar als ik een foreach loop toe wil voegen zodat automatisch meerdere markers geplot worden werkt het niet meer. Kan iemand mij helpen? Hier onder is de querry en de google maps code weergegeven.
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| <?php // First we execute our common code to connection to the database and start the session require("common.php"); // At the top of the page we check to see whether the user is logged in or not session_start(); //Format the page from the database data $query = " SELECT Name, latitude, longitude FROM units UNION ALL SELECT NameOfEvent, latitude, longitude FROM events WHERE latitude != 0 or longitude !=0 "; try { // These two statements run the query against your database table. $stmt = $db->prepare($query); $stmt->execute(); } catch(PDOException $ex) { // Note: On a production website, you should not output $ex->getMessage(). // It may provide an attacker with helpful information about your code. } $rows = $stmt->fetchAll(); //Format the page from the database data ?> |
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| ><script src="http://maps.googleapis.com/maps/api/js"> </script> <script> var myCenter=new google.maps.LatLng(0,0); function initialize() { var mapProp = { center:myCenter, zoom:5, mapTypeId:google.maps.MapTypeId.ROADMAP }; var map=new google.maps.Map(document.getElementById("googleMap"),mapProp); <?php foreach($rows as $row): ?> var latitude = '<?php foreach($rows as $row): echo htmlentities($row['latitude'], ENT_QUOTES, 'UTF-8'); endforeach;?>'; var longitude = '<?php foreach($rows as $row): echo htmlentities($row['longitude'], ENT_QUOTES, 'UTF-8'); endforeach;?>'; var newMarker=new google.maps.LatLng(latitude,longitude); if(latitude != 0 || longitude !=0){ var marker=new google.maps.Marker({ position:newMarker, }); marker.setMap(map); var infowindow = new google.maps.InfoWindow({ content:"<?php foreach($rows as $row): echo htmlentities($row['Name'], ENT_QUOTES, 'UTF-8'); endforeach;?>" }); infowindow.open(map,marker); } } <?php endforeach; ?> google.maps.event.addDomListener(window, 'load', initialize); </script> |
Alvast bedankt.