示例#1
0
    $new_city->latitude  = $city['latitude'];
    $new_city->longitude = $city['longitude'];

    $stat = $new_city->create();
    if ($stat)
    {
        $cities[] = $new_city;
    }
}*/
$user = midcom::get('auth')->user->get_storage();
$user_position = new org_routamc_positioning_person($user);
$coordinates = $user_position->get_coordinates();
if (!$coordinates) {
    throw new midcom_error("Failed to get your current position.");
}
echo "<p>" . sprintf('Your position is %s', org_routamc_positioning_utils::pretty_print_coordinates($coordinates['latitude'], $coordinates['longitude'])) . "</p>\n";
$run_times = 1;
$run = 0;
$total_time = 0;
while ($run < $run_times) {
    $run++;
    $start = microtime();
    $closest = org_routamc_positioning_utils::get_closest('org_routamc_positioning_city_dba', $coordinates, 10);
    echo "<p>Closest places to you are:<br />";
    echo "<ol>\n";
    foreach ($closest as $city) {
        $city_coordinates = array('latitude' => $city->latitude, 'longitude' => $city->longitude);
        echo "<li>{$city->city}, {$city->country} is " . round(org_routamc_positioning_utils::get_distance($coordinates, $city_coordinates)) . " kilometers " . org_routamc_positioning_utils::get_bearing($coordinates, $city_coordinates) . " from you</li>";
    }
    echo "</ol>\n";
    $end = microtime();
示例#2
0
文件: utils.php 项目: abbra/midcom
 /**
  * Pretty print a position mapping either to a city or cleaned coordinates
  *
  * @return string
  */
 static function pretty_print_location(org_routamc_positioning_spot $spot)
 {
     $closest = org_routamc_positioning_utils::get_closest('org_routamc_positioning_city', $spot, 1);
     $city_string = org_routamc_positioning_utils::pretty_print_coordinates($spot);
     foreach ($closest as $city) {
         $city_spot = new org_routamc_positioning_spot($city);
         $city_distance = round(org_routamc_positioning_utils::get_distance($spot, $city_spot));
         if ($city_distance <= 4) {
             $city_string = "{$city->city}, {$city->country}";
         } else {
             $bearing = org_routamc_positioning_utils::get_bearing($city_spot, $spot);
             $city_string = sprintf($_MIDCOM->i18n->get_string('%skm %s of %s', 'org_routamc_positioning'), $city_distance, $bearing, "{$city->city}, {$city->country}");
         }
     }
     return $city_string;
 }
示例#3
0
文件: utils.php 项目: nemein/openpsa
 /**
  * Pretty print a position mapping either to a city or cleaned coordinates
  *
  * @return string
  */
 function pretty_print_location($latitude, $longitude)
 {
     $coordinates = array('latitude' => $latitude, 'longitude' => $longitude);
     $closest = org_routamc_positioning_utils::get_closest('org_routamc_positioning_city_dba', $coordinates, 1);
     $city_string = org_routamc_positioning_utils::pretty_print_coordinates($coordinates['latitude'], $coordinates['longitude']);
     foreach ($closest as $city) {
         $city_coordinates = array('latitude' => $city->latitude, 'longitude' => $city->longitude);
         $city_distance = round(org_routamc_positioning_utils::get_distance($coordinates, $city_coordinates));
         if ($city_distance <= 4) {
             $city_string = "{$city->city}, {$city->country}";
         } else {
             $bearing = org_routamc_positioning_utils::get_bearing($city_coordinates, $coordinates);
             $city_string = sprintf(midcom::get('i18n')->get_string('%skm %s of %s', 'org.routamc.positioning'), $city_distance, $bearing, "{$city->city}, {$city->country}");
         }
     }
     return $city_string;
 }
示例#4
0
文件: log.php 项目: nemein/openpsa
 /**
  * Human-readable label for cases like Asgard navigation
  */
 function get_label()
 {
     return strftime('%x', $this->date) . ' ' . org_routamc_positioning_utils::pretty_print_coordinates($this->latitude, $this->longitude);
 }