Google Map Helper
A handy tool to generate maps using Google Map API.
I found CakePHP to be helpful with a lot of things and I loved the fact that anyone can reuse any classes made in PHP using 'vendors' in CakePHP. We recently wrote a CakePHP helper for generating map in CakePHP application.
The helper uses Google Maps API V2 class (http://www.phpinsider.com/php/code/GoogleMapAPI/) from phpinsider.com.
To begin with, just download the class and place them inside 'vendors' folder.
Here's the code for the helper: map.php
Download code
Here's the code for the view (index.thtml in my case): index.thtml
Download code
Author: Abhimanyu Grover
Giga Promoters
The helper uses Google Maps API V2 class (http://www.phpinsider.com/php/code/GoogleMapAPI/) from phpinsider.com.
To begin with, just download the class and place them inside 'vendors' folder.
Here's the code for the helper: map.php
Download code
<?php
class MapHelper extends Helper
{
var $helpers = array('Html');
function displaymap($locations=false,$width=500,$height=500)
{
vendor('GoogleMapAPI.class');
$map = new GoogleMapAPI('map');
if($locations)
foreach($locations as $location)
{
$map->addMarkerByAddress( $location['address'],strip_tags($location['title']), $location['title']); //adds address to showup in Map
}
else
{
$map->setCenterCoords(-96.67,40.8279); // if no locations are passed in function, then focus on US
$map->setZoomLevel(3);
}
$map->setWidth($width);
$map->setHeight($height);
$map_content=$map->getHeaderJS().$map->getMapJS().$map->getMap();
return $this->output($map_content);
}
}
?>
Here's the code for the view (index.thtml in my case): index.thtml
Download code
<? php
// initialization of $my_locations array to show in map - you can do this in your controller.
$my_locations=array();
$my_locations[1]['address']='621 N 48th St # 6 Lincoln NE 68502';
$my_locations[1]['title']='PJ Pizza';
$my_locations[2]['address']='826 P St Lincoln NE 68502';
$my_locations[2]['title']='<b>PJ Pizza</b>';
echo $map->displaymap($my_locations,500,500); ?>
<script type="text/javascript">onLoad();</script>
Author: Abhimanyu Grover
Giga Promoters
Comments
Comment
1 Try this Google Map Helper
http://bakery.cakephp.org/articles/view/191
Question
2 Not working Maybe something was forgotten
Fatal error: Call to a member function on a non-object in /var/www/cake_1.1.13.4450/app/views/pages/home.thtml on line 10
I copied the both the GoogleMapAPI and map.php code as instructed but still get the error. Any suggestions?
Comment
3 answer to Not working Maybe something was forgotten
Then it should work just fine
Question
4 Address
I have to change the address..
How can i give in this...???
Please explain about this...
Comment
5 CakePHP 1.2 Update
And it works fine with 1.2 :)
Happy baking.