示例#1
0
文件: utils.php 项目: abbra/midcom
 /**
  * Pretty print a position mapping Microformatted city name or other label
  *
  * @return string
  */
 static function microformat_location(org_routamc_positioning_spot $spot)
 {
     $closest = org_routamc_positioning_utils::get_closest('org_routamc_positioning_city', $spot, 1);
     $latitude_string = org_routamc_positioning_utils::pretty_print_coordinate($spot->latitude);
     $latitude_string .= $spot->latitude > 0 ? ' N' : ' S';
     $longitude_string = org_routamc_positioning_utils::pretty_print_coordinate($spot->longitude);
     $longitude_string .= $spot->longitude > 0 ? ' E' : ' W';
     if (count($closest) == 0) {
         // No city found, generate only geo microformat
         $coordinates_string = "<span class=\"geo\">";
         $coordinates_string .= "<abbr class=\"latitude\" title=\"{$spot->latitude}\">{$latitude_string}</abbr> ";
         $coordinates_string .= "<abbr class=\"longitude\" title=\"{$spot->longitude}\">{$longitude_string}</abbr>";
         $coordinates_string .= "</span>";
         return $coordinates_string;
     }
     foreach ($closest as $city) {
         // City found, combine it and geo
         $city_string = "<span class=\"geo adr\">";
         $city_string .= "<abbr class=\"latitude\" title=\"{$spot->latitude}\">{$latitude_string}</abbr> ";
         $city_string .= "<abbr class=\"longitude\" title=\"{$spot->longitude}\">{$longitude_string}</abbr> ";
         $city_spot = new org_routamc_positioning_spot($city);
         $city_distance = round(org_routamc_positioning_utils::get_distance($spot, $city_spot));
         $city_label = "<span class=\"locality\">{$city->city}</span>, ";
         $city_label .= "<span class=\"country-name\">{$city->country}</span>";
         if ($city_distance <= 4) {
             $city_string .= $city_label;
         } 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_label);
         }
         $city_string .= "</span>";
     }
     return $city_string;
 }
示例#2
0
文件: utils.php 项目: nemein/openpsa
 /**
  * Pretty print a position mapping Microformatted city name or other label
  *
  * @return string
  */
 function microformat_location($latitude, $longitude)
 {
     $coordinates = array('latitude' => $latitude, 'longitude' => $longitude);
     $closest = org_routamc_positioning_utils::get_closest('org_routamc_positioning_city_dba', $coordinates, 1);
     $latitude_string = org_routamc_positioning_utils::pretty_print_coordinate($latitude);
     $latitude_string .= $latitude > 0 ? " N" : " S";
     $longitude_string = org_routamc_positioning_utils::pretty_print_coordinate($longitude);
     $longitude_string .= $longitude > 0 ? " E" : " W";
     if (count($closest) == 0) {
         // No city found, generate only geo microformat
         $coordinates_string = "<span class=\"geo\">";
         $coordinates_string .= "<abbr class=\"latitude\" title=\"{$latitude}\">{$latitude_string}</abbr> ";
         $coordinates_string .= "<abbr class=\"longitude\" title=\"{$longitude}\">{$longitude_string}</abbr>";
         $coordinates_string .= "</span>";
         return $coordinates_string;
     }
     foreach ($closest as $city) {
         // City found, combine it and geo
         $city_string = "<span class=\"geo adr\">";
         $city_string .= "<abbr class=\"latitude\" title=\"{$latitude}\">{$latitude_string}</abbr> ";
         $city_string .= "<abbr class=\"longitude\" title=\"{$longitude}\">{$longitude_string}</abbr> ";
         $city_coordinates = array('latitude' => $city->latitude, 'longitude' => $city->longitude);
         $city_distance = round(org_routamc_positioning_utils::get_distance($coordinates, $city_coordinates));
         $city_label = "<span class=\"locality\">{$city->city}</span>, ";
         $city_label .= "<span class=\"country-name\">{$city->country}</span>";
         if ($city_distance <= 4) {
             $city_string .= $city_label;
         } 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_label);
         }
         $city_string .= "</span>";
     }
     return $city_string;
 }
示例#3
0
文件: type.php 项目: nemein/openpsa
 function convert_to_html()
 {
     $result = '';
     $adr_properties = array();
     if ($this->location->description) {
         $adr_properties[] = "<span class=\"description\">{$this->location->description}</span>";
     }
     if ($this->location->text) {
         $adr_properties[] = "<span class=\"text\">{$this->location->text}</span>";
     }
     if ($this->location->room) {
         $adr_properties[] = "<span class=\"room\">{$this->location->room}</span>";
     }
     if ($this->location->street) {
         $adr_properties[] = "<span class=\"street-address\">{$this->location->street}</span>";
     }
     if ($this->location->postalcode) {
         $adr_properties[] = "<span class=\"postal-code\">{$this->location->postalcode}</span>";
     }
     if ($this->location->city) {
         $city = new org_routamc_positioning_city_dba($this->location->city);
         $adr_properties[] = "<span class=\"locality\">{$city->city}</span>";
     }
     if ($this->location->region) {
         $adr_properties[] = "<span class=\"region\">{$this->location->region}</span>";
     }
     if ($this->location->country) {
         $adr_properties[] = "<span class=\"country-name\">{$this->location->country}</span>";
     }
     if (count($adr_properties) > 0) {
         $result .= '<span class="adr">' . implode(', ', $adr_properties) . "</span>\n";
     }
     $latitude_string = org_routamc_positioning_utils::pretty_print_coordinate($this->location->latitude);
     $latitude_string .= $this->location->latitude > 0 ? " N" : " S";
     $longitude_string = org_routamc_positioning_utils::pretty_print_coordinate($this->location->longitude);
     $longitude_string .= $this->location->longitude > 0 ? " E" : " W";
     $style = '';
     if (!empty($result)) {
         $style = ' style="display: none;"';
     }
     $result .= "<span class=\"geo\"{$style}>\n";
     $result .= "    <abbr class=\"latitude\" title=\"{$this->location->latitude}\">{$latitude_string}</abbr>\n";
     $result .= "    <abbr class=\"longitude\" title=\"{$this->location->longitude}\">{$longitude_string}</abbr>\n";
     $result .= "</span>\n";
     // TODO: Add Microformat for civic location
     return $result;
 }