"Can you use PHP to control what you show on a Google Map?" An innocent question that lead me off on an interesting exploration when I should (!) have been doing other things - but a very worthwhile couple of hours, and great fun!

How do you do it?
1. Apply for your Google Maps key (you'll need to set up a Google account first if you don't have one)
2. Load their sample Javascript into the head of your web page, and modify it to relect your scale and location.
3. Add in a
<div id="map" ... element to your web page
Probably a good idea to test at this point!
4. Add in a form for the controls you want, a handler for form inputs, and modify the Javascript to drop in the contents of PHP variables where necessary.
And Bob's your uncle!
I have an example in use
here.
And the source code is
here.
Is there much else I could do? Absolutely! I've just pushed the door open a crack and I see a blinding light shining out.
(written 2007-10-13, updated 2008-09-29)
Associated topics are indexed under
H115 - Designing PHP-Based Solutions: Best Practice [4069] Even early on, separate out your program from your HTML! - (2013-04-25)
[3926] Filtering PHP form inputs - three ways, but which should you use? - (2012-11-18)
[3820] PHP sessions - a best practice teaching example - (2012-07-27)
[3813] Injection Attacks - PHP, SQL, HTML, Javascript - and how to neutralise them - (2012-07-22)
[3539] Separating program and artwork in PHP - easier maintainance, and better for the user - (2011-12-05)
[2679] How to build a test harness into your PHP - (2010-03-16)
[2430] Not just a PHP program - a good web application - (2009-09-29)
[2221] Adding a newsfeed for your users to a multipage PHP application - (2009-06-06)
[2199] Improving the structure of your early PHP programs - (2009-05-25)
[1794] Refactoring - a PHP demo becomes a production page - (2008-09-12)
[1694] Defensive coding techniques in PHP? - (2008-07-02)
[1623] PHP Techniques - a workshop - (2008-04-26)
[1533] Short and sweet and sticky - PHP form input - (2008-02-06)
[1490] Software to record day to day events and keep an action list - (2007-12-31)
[1487] Efficient PHP applications - framework and example - (2007-12-28)
[1482] A story about benchmarking PHP - (2007-12-23)
[1391] Ordnance Survey Grid Reference to Latitude / Longitude - (2007-10-14)
[1390] Converting from postal address to latitude / longitude - (2007-10-13)
[1381] Using a MySQL database to control mod_rewrite via PHP - (2007-10-06)
[1323] Easy handling of errors in PHP - (2007-08-27)
[1321] Resetting session based tests in PHP - (2007-08-26)
[1194] Drawing hands on a clock face - PHP - (2007-05-19)
[1182] Painting a masterpiece in PHP - (2007-05-10)
[1181] Good Programming practise - where to initialise variables - (2007-05-09)
[1166] Back button - ensuring order are not submitted twice (PHP) - (2007-04-28)
[1052] Learning to write secure, maintainable PHP - (2007-01-25)
[1047] Maintainable code - some positive advice - (2007-01-21)
[945] Code quality counts - (2006-11-26)
[936] Global, Superglobal, Session variables - scope and persistance in PHP - (2006-11-21)
[896] PHP - good coding practise and sticky radio buttons - (2006-10-17)
[839] Reporting on the 10 largest files or 10 top scores - (2006-08-20)
[572] Giving the researcher power over database analysis - (2006-01-22)
[563] Merging pictures using PHP and GD - (2006-01-13)
[426] Robust checking of data entered by users - (2005-08-27)
[394] A year on - should we offer certified PHP courses - (2005-07-28)
[340] Code and code maintainance efficiency - (2005-06-08)
[261] Putting a form online - (2005-03-29)
[237] Crossfertilisation, PHP to Python - (2005-03-06)
[123] Short underground journeys and a PHP book - (2004-11-19)
H309 - PHP - Maps, Graphics and Geographics [3817] Fpdf - generating .pdf documents easily from your PHP program - (2012-07-24)
[3734] QR codes with marketing logos embedded - (2012-05-16)
[3584] QR codes - graphics images that provide quick phone links - (2012-01-18)
[3536] UK Mapping Data - and more to come - under government Open Data measures - (2011-12-03)
[3447] Needle in a haystack - finding the web server overload - (2011-09-18)
[3211] Computer Graphics in PHP - World (incoming data) to Pixel (screen) conversion - (2011-03-24)
[3197] Finding and diverting image requests from rogue domains - (2011-03-08)
[3133] An image from a website that occasionally comes out as hyroglyphics - (2011-01-14)
[3027] Server logs - drawing a graph of gathered data - (2010-11-03)
[2939] Protecting your images from use out of context - (2010-08-29)
[2729] Uploading a document or image to its own URL via a browser - (2010-04-18)
[2675] Redirecting to your main domain for correct security keys - (2010-03-13)
[2583] Reducing image size on digital photos - PHP - (2010-01-17)
[2390] Dynamic / changing images on your web page - (2009-09-01)
[2361] Geocoding - converting address to latitude / Longitude with PHP via Google - (2009-08-14)
[2343] World Flags in your PHP pages - (2009-08-10)
[1956] Images for Christmas - (2008-12-21)
[1923] Making it all worthwhile - (2008-12-04)
[1756] Ever had One of THOSE mornings? - (2008-08-16)
[1752] Dynamic maps / geographics in PHP - (2008-08-13)
[1734] All around the world? - (2008-08-03)
[1724] addslashes v mysql_real_escape_string in PHP - (2008-07-27)
[1628] Gant charts - drawing them with a PHP script - (2008-05-03)
[1104] Drawing dynamic graphs in PHP - (2007-03-09)
[937] Display an image from a MySQL database in a web page via PHP - (2006-11-22)
[665] PHP Image viewing application - (2006-04-01)
[320] Ordnance Survey - using a 'Get a map' - (2005-05-22)
H999 - Additional PHP Material [3210] Catchable fatal error in PHP ... How to catch, and alternative solutions such as JSON - (2011-03-22)
[3118] Arrays of arrays - or 2D arrays. How to program tables. - (2011-01-02)
[2684] Exception handling in PHP - (2010-03-18)
[2215] If nothing, make it nothing. - (2009-06-02)
[2073] Extra PHP Examples - (2009-03-09)
[1519] Flipping images on your web page - (2008-01-26)
[1505] Script to present commonly used images - PHP - (2008-01-13)
[1485] Copyright and theft of images, bandwidth and members. - (2007-12-26)
[1451] More PHP sample and demonstration programs - (2007-12-01)
[1270] PHP Standalone - keyboard to screen - (2007-07-18)
[1053] Sorting people by name in PHP - (2007-01-26)
[1020] Parallel processing in PHP - (2007-01-03)
[1010] Dates, times, clickable diarys in PHP - (2006-12-28)
[917] Syntax checking in PHP - (2006-11-07)
[822] PHP - a team member leaves - (2006-08-04)
[806] Check your user is human. Have him retype a word in a graphic - (2006-07-17)
[789] Hot answers in PHP - (2006-07-02)
[687] Presentation, Business and Persistence layers in Perl and PHP - (2006-04-17)
[603] PHP - setting sort order with an associative array - (2006-02-13)
[493] Running a Perl script within a PHP page - (2005-11-12)
[483] Double Dollars in PHP - (2005-11-02)
[468] Stand alone PHP programs - (2005-10-18)
[372] Time calculation in PHP - (2005-07-08)
[337] the array returned by preg_match_all - (2005-06-06)
[322] More maps - (2005-05-23)
[239] What and why for the epoch - (2005-03-08)
[54] PHP and natural sorting - (2004-09-19)
5235
Some other Articles
First Alternative / what has happened there?Autumnal lighting on a London tripControlling and labelling Google maps via PHPWell House Manor - a year onError logging to file not browser in PHPNew software product for warmblooded programmersDelegates of all shapes and sizesAn email update for past guests and delegates