$lat) {
foreach ($lat as $lo => $lon) {
$tooltip = "";
$num_up = safe_count($lon["up_hosts"]);
$num_down = safe_count($lon["down_hosts"]);
$total_hosts = $num_up + $num_down;
$tooltip = '
Up ' . $num_up . ' Down ' . $num_down . '
';
$state = 'unknown';
$location_name = "";
if ($num_down > 0) {
$state = 'down';
$location_name = ($lon['down_hosts'][0]['location'] === '' ? OBS_VAR_UNSET : $lon['down_hosts'][0]['location']);
$location_url = generate_location_url($lon['down_hosts'][0]['location']);
} elseif ($num_up > 0) {
$state = 'up';
$location_name = ($lon['up_hosts'][0]['location'] === '' ? OBS_VAR_UNSET : $lon['up_hosts'][0]['location']);
$location_url = generate_location_url($lon['up_hosts'][0]['location']);
}
$tooltip = "" . $location_name . "
" . $tooltip;
foreach ($lon["down_hosts"] as $down_host) {
$tooltip .= '' . escape_html($down_host['hostname']) . ' ';
}
$feature = ['geometry' => ['type' => 'Point',
'coordinates' => [(float)$lo, (float)$la]],
'type' => 'Feature',
'properties' => ['name' => $location_name,
'state' => $state,
'id' => safename($location_name),
//'popupContent' => $tooltip,
'url' => $location_url]];
$features[] = $feature;
//echo "[$la, $lo, $num_up, $num_down, \"$tooltip\", '$location_name', '$location_url'],\n ";
}
}
$geo = ['type' => 'FeatureCollection', 'features' => $features];
header('Content-type: application/javascript');
//echo 'var geojson = ' . json_encode($geo) . ';';
//print_r($features);
echo safe_json_encode($geo);
//r($geo);
// EOF