X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=geocoordinates%2Fgeocoordinates.php;h=34f850cb307ddb150c9cc347b0d1e98b9bf1a97c;hb=72474dc2f62f193e3f91c19ad41ce3f158023bbf;hp=52dd8d75251ce9d9761bd599cea5069a209a2097;hpb=47329fb2e77e635080a232c278d736892354a43e;p=friendica-addons.git diff --git a/geocoordinates/geocoordinates.php b/geocoordinates/geocoordinates.php index 52dd8d75..34f850cb 100644 --- a/geocoordinates/geocoordinates.php +++ b/geocoordinates/geocoordinates.php @@ -29,14 +29,20 @@ function geocoordinates_resolve_item(&$item) { if ($language == "") $language = "de"; - $result = Cache::get("geocoordinates:".$language.":".$item["coord"]); + $coords = explode(' ',$item["coord"]); + + if (count($coords) < 2) + return; + + $coords[0] = round($coords[0], 5); + $coords[1] = round($coords[1], 5); + + $result = Cache::get("geocoordinates:".$language.":".$coords[0]."-".$coords[1]); if (!is_null($result)) { $item["location"] = $result; return; } - $coords = explode(' ',$item["coord"]); - $s = fetch_url("https://api.opencagedata.com/geocode/v1/json?q=".$coords[0].",".$coords[1]."&key=".$key."&language=".$language); if (!$s) { @@ -51,17 +57,17 @@ function geocoordinates_resolve_item(&$item) { return; } - if (($data->total_results == 0) OR (count($data->results) == 0)) { - logger("No results found", LOGGER_DEBUG); + if (($data->total_results == 0) || (count($data->results) == 0)) { + logger("No results found for coordinates ".$item["coord"], LOGGER_DEBUG); return; } $item["location"] = $data->results[0]->formatted; - logger("Got location for coordinates ".$item["coord"].": ".$item["location"], LOGGER_DEBUG); + logger("Got location for coordinates ".$coords[0]."-".$coords[1].": ".$item["location"], LOGGER_DEBUG); if ($item["location"] != "") - Cache::set("geocoordinates:".$language.":".$item["coord"], $item["location"]); + Cache::set("geocoordinates:".$language.":".$coords[0]."-".$coords[1], $item["location"]); } function geocoordinates_post_hook($a, &$item) {