--- a/include/common-geo.inc.php +++ b/include/common-geo.inc.php @@ -3,6 +3,7 @@ $suburbs = explode(",", "Acton,Ainslie,Amaroo,Aranda,Banks,Barton,Belconnen,Bonner,Bonython,Braddon,Bruce,Calwell,Campbell,Chapman,Charnwood,Chifley,Chisholm,City,Conder,Cook,Curtin,Deakin,Dickson,Downer,Duffy,Dunlop,Evatt,Fadden,Farrer,Fisher,Florey,Flynn,Forrest,Franklin,Fraser,Fyshwick,Garran,Gilmore,Giralang,Gordon,Gowrie,Greenway,Griffith,Gungahlin,Hackett,Hall,Harrison,Hawker,Higgins,Holder,Holt,Hughes,Hume,Isaacs,Isabella Plains,Kaleen,Kambah,Kingston,Latham,Lawson,Lyneham,Lyons,Macarthur,Macgregor,Macquarie,Mawson,McKellar,Melba,Mitchell,Monash,Narrabundah,Ngunnawal,Nicholls,Oaks Estate,O'Connor,O'Malley,Oxley,Page,Palmerston,Parkes,Pearce,Phillip,Pialligo,Red Hill,Reid,Richardson,Rivett,Russell,Scullin,Spence,Stirling,Symonston,Tharwa,Theodore,Torrens,Turner,Wanniassa,Waramanga,Watson,Weetangera,Weston,Yarralumla"); function staticmap($mapPoints, $zoom = 0, $markerImage = "iconb", $collapsible = true) { + global $labsPath; $width = 300; $height = 300; $metersperpixel[9] = 305.492 * $width; @@ -12,14 +13,11 @@ $metersperpixel[13] = 19.093 * $width; $metersperpixel[14] = 9.547 * $width; $metersperpixel[15] = 4.773 * $width; - $metersperpixel[16] = 2.387 * $width; + //$metersperpixel[16] = 2.387 * $width; // $metersperpixel[17]=1.193*$width; $center = ""; $markers = ""; - $minlat = 999; - $minlon = 999; - $maxlat = 0; - $maxlon = 0; + $mapwidthinmeters = 50; if (sizeof($mapPoints) < 1) return "map error"; if (sizeof($mapPoints) === 1) { if ($zoom == 0) $zoom = 14; @@ -30,25 +28,23 @@ foreach ($mapPoints as $index => $mapPoint) { $markers.= $mapPoint[0] . "," . $mapPoint[1] . "," . $markerImage . ($index + 1); if ($index + 1 != sizeof($mapPoints)) $markers.= "|"; - if ($mapPoint[0] < $minlat) $minlat = $mapPoint[0]; - if ($mapPoint[0] > $maxlat) $maxlat = $mapPoint[0]; - if ($mapPoint[1] < $minlon) $minlon = $mapPoint[1]; - if ($mapPoint[1] > $maxlon) $maxlon = $mapPoint[1]; + $dist = distance($mapPoints[0][0], $mapPoint[0][1],$mapPoint[0], $mapPoint[1]); + $mapwidthinmeters = ($dist>$mapwidthinmeters ? $dist : $mapwidthinmeters); $totalLat+= $mapPoint[0]; $totalLon+= $mapPoint[1]; } if ($zoom == 0) { $mapwidthinmeters = distance($minlat, $minlon, $minlat, $maxlon); foreach (array_reverse($metersperpixel, true) as $zoomLevel => $maxdistance) { - if ($zoom == 0 && $mapwidthinmeters < ($maxdistance + 50)) $zoom = $zoomLevel; + if ($zoom == 0 && $mapwidthinmeters*1.5 < ($maxdistance)) $zoom = $zoomLevel; } } $center = $totalLat / sizeof($mapPoints) . "," . $totalLon / sizeof($mapPoints); } $output = ""; - if ($collapsible) $output.= '

Open Map...

'; - $output.= '
'; + if ($collapsible) $output.= '

Open Map...

'; + $output.= ''; if ($collapsible) $output.= '
'; return $output; }