Hello
We are constantly running into issues with the geolocation service and the automated detection of the coordinates – people tend to set additional information in the sysLocation which finally cause
the geo api’s to fail. I would like to suggest a small format / code change here to make the geo location detection more usable and reliable. SysLocation should be set up in the form:
<Business Name / Rack Location> Street No., ZIP Code City, Country
The <Business Name / Rack Location> is still stored in observium but ignored when querying the api.
--- geolocation.inc.php.org 2017-07-18 22:09:56.994896291 +0200
+++ geolocation.inc.php 2017-07-18 22:09:40.082938507 +0200
@@ -20,9 +20,14 @@
function get_geolocation($address, $geo_db = array(), $dns_only = FALSE)
{
global $config;
+ /* $address parsing, allow business names or additional information */
+ /* address line should be: <ACME INC> Test Street 42, 823456 Somewhere */
+ $address_orig = $address;
+ $address = preg_replace("/^<?.*>/","",$address);
+
$ok = FALSE;
- $location = array('location' => $address); // Init location array
+ $location = array('location' => $address_orig); // Init location array
$location['location_geoapi'] = strtolower(trim($config['geocoding']['api']));
if (!isset($config['geo_api'][$location['location_geoapi']]))
{
--
Mit freundlichen Grüßen,
Best regards,
André Mamitzsch