function geobox_maps($param, $coords_param) { global $GeoBoxDefaultFormat, $GeoBoxLinks; $c = geobox_parse_coords($coords_param); if (empty($c['result'])) { return "[Invalid \"{$coords_param}\"]"; } $params = geobox_parse_params($param); $cformat = $params['format']; if (!empty($params['azimuth']) || !empty($params['distance'])) { if (is_numeric($params['azimuth']) && is_numeric($params['distance'])) { $c = geobox_projection($c[0], $c[1], $params['azimuth'], $params['distance']); } else { return "[Invalid azimuth \"{$params['azimuth']}\" or distance \"{$params['distance']}\"]"; } } $c = geobox_convert_coords($c); if (empty($cformat)) { $cformat = $GeoBoxDefaultFormat; } if (strpos($cformat, "s") !== false) { $COORDS = geobox_build_link('$NSig$Ndi°$Nmi\'$Ns" $ESig$Edi°$Emi\'$Es"', $c); // DMS } else { if (strpos($cformat, "m") !== false) { $COORDS = geobox_build_link('$NSig$Ndi°$Nm\' $ESig$Edi°$Em\'', $c); // DM } else { $COORDS = geobox_build_link('$NSig$Nd° $ESig$Ed°', $c); // } } $result = "{$COORDS}"; if (is_array($GeoBoxLinks) && !empty($GeoBoxLinks)) { $result .= " - "; foreach ($GeoBoxLinks as $t => $l) { $l = geobox_build_link($l, $c); $result .= " [[{$l} | {$t}]]"; } } return $result; }
$r[] = "50.5906+7,14.3815,PRE"; $c[] = "50°35.4' 14°22'"; $r[] = "50.59,14.36+7,PRE"; $c[] = "50.3°35.4'44\" 14.1°22'22\""; $r[] = "50.902+,14.4727+8,PRE"; $c[] = "50.3°35.4'44\"; 14.1°22'22\""; $r[] = "50.902+,14.4727+8,PRE"; $c[] = "N 50.3°35.4'44'' E14.1°22'22''"; $r[] = "50.902+,14.4727+8,PRE"; $c[] = "N 50.3°35.4'44'', E14.1°22'22''"; $r[] = "50.902+,14.4727+8,PRE"; $c[] = " 50.3°35.4'44''N 14.1°22'22''W"; $r[] = "50.902+,-14.4727+8,POST"; $c[] = "50.3°35.4'44''N, 14.1°22'22''W"; $r[] = "50.902+,-14.4727+8,POST"; $c[] = "50.3°35.4'44''N ; 14.1°22'22''W"; $r[] = "50.902+,-14.4727+8,POST"; foreach ($c as $coord) { echo "<div>Str: \"{$coord}\n"; $res = geobox_parse_coords($coord); $resstr = "{$res[0]},{$res[1]},{$res['result']}"; echo " -> [{$resstr}] </div>\n"; $rx = array_shift($r); if (!preg_match("/^{$rx}\$/", $resstr)) { echo "ERROR: '{$resstr}' not match to: {$rx}\n"; } } ?> </body> </html>