addQueryString('center', $center); $url->addQueryString('zoom', $zoom); $url->addQueryString('markers', $markers); $url->addQueryString('size', $map_size); $url->addQueryString('key', $api_key); $demo_map = $url->getUrl(); /* This is not used in demo. See $map_with_center. */ /* Pixel coordinates of center of map image. */ $center_offset_x = round($map_width / 2); $center_offset_y = round($map_height / 2); /* Add blue marker to calculated center. */ $markers .= sprintf('|%s,%s,blue', $lat_avg, $lon_avg); $url->addQueryString('markers', $markers); $map_with_center = $url->getUrl(); /* Build the imagemap. */ $counter = 0; $imagemap = '' . "\n"; foreach ($marker_array as $marker) { list($lat, $lon, $col) = explode(',', $marker); $target_y = Google_Maps::LatToY($lat); $target_x = Google_Maps::LonToX($lon); $delta_x = ($target_x - $center_x) >> (21 - $zoom); $delta_y = ($target_y - $center_y) >> (21 - $zoom); $marker_offset_x = $center_offset_x + $delta_x; $marker_offset_y = $center_offset_y + $delta_y -20; // is to point to center of bubble $imagemap .= sprintf('', $marker_offset_x, $marker_offset_y, $counter); $imagemap .= "\n"; $counter++; } $imagemap .= ''; ?> Clickable Markers in Google Static Map Demo

Map above uses Google Static Maps API. Green markers are made clickable by using generated imagemap.

See how it was done by reading tutorials part 1 and part 2.