I'm starting to know PHP and JavaScript, mixing them in HTML and using Google Maps API (version 3).
I figured how to 'put' various markers but the console will throw me an error:
" Uncaught InvalidValueError: setCenter: not a LatLng or LatLngLiteral object ".
I think it's because the var created in the loop is not exactly the object needed but instead a string, though this confuses me, I don't know if I'm right. I'd appreciate it a lot if anyone could set me in the right path.
Thanks in advance.
This is my code: (By the way, the array I'm looping is an array with an array with an array, here's some of it. It follows the pattern, there are in total 6 'places'):
$locations = array( array( 'Location' => array( 'Title'=>'Place', 'Description'=>'Some Place', 'Image'=>'pin1.png', 'Latitude'=>'20.681775', 'Longitude'=>'-103.351479' ) ),…
(It continues…).
<!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="text/css"> html { height: 100% } body { height: 100%; margin: 0; padding: 0 } #map-canvas { height: 100% } </style> <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?AIzaSyBVfO8LckdOHAot1a8rZW0bmJIoWO2A3os=API_KEY&sensor=true"> </script> <script type="text/javascript"> function initialize() { var mapOptions = { center: (20.68177501, -103.3514794), zoom: 15, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions); // To add the marker to the map, use the 'map' property <?php $i = 0; ?> <?php foreach($locations as $key => $value): ?> <?php foreach($value as $key => $value): ?> <?php foreach($value as $key => $value): ?> <?php if($key == "Latitude"): ?> <?php $myLatLng = "$value, "; endif;?> <?php if($key == "Longitude"): ?> <?php $myLatLng .="$value"; ?> var myLatlng<?php echo $i; ?> = new google.maps.LatLng(<?php echo $myLatLng; ?>); var marker<?php echo $i; ?> = new google.maps.Marker({ position: (myLatlng<?php echo $i; ?>), title:"Hello World!" }); marker<?php echo $i; ?>.setMap(map); <?php $i++; ?> <?php endif; ?> <?php endforeach; ?> <?php endforeach; ?> <?php endforeach; ?> } google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div id="map-canvas"/> </body> </html>
And here's a screenshot of that var assigning part: " http://cl.ly/image/1d3e2J360t3y "