123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?php
- // Norway
- function location_province_list_no() {
- return array('AK' => "Akershus",
- 'AA' => "Aust-Agder",
- 'BU' => "Buskerud",
- 'FM' => "Finnmark",
- 'HM' => "Hedmark",
- 'HL' => "Hordaland",
- 'MR' => "More og Romdal",
- 'NL' => "Nordland",
- 'NT' => "Nord-Trondelag",
- 'OP' => "Oppland",
- 'OL' => "Oslo",
- 'OF' => "Ostfold",
- 'RL' => "Rogaland",
- 'SJ' => "Sogn og Fjordane",
- 'ST' => "Sor-Trondelag",
- 'TM' => "Telemark",
- 'TR' => "Troms",
- 'VA' => "Vest-Agder",
- 'VF' => "Vestfold");
- }
- function _location_latlon_rough_no($location = array()) {
- if (!isset($location['postal_code'])) {
- return NULL;
- }
- $row = db_query("SELECT latitude, longitude FROM {zipcodes} WHERE country = :country AND zip = :zip", array(':country' => $location['country'], ':zip' => substr(str_pad($location['postal_code'], 5, '0', STR_PAD_LEFT), 0, 5)))->fetchObject();
- if ($row) {
- return array('lat' => $row->latitude, 'lon' => $row->longitude);
- }
- else {
- return NULL;
- }
- }
- /**
- * Returns a lat/lon pair of the approximate center of the given postal code in the given country
- *
- * @param $location
- * An associative array $location where only postal code and country are necessary, but can have the keys:
- * 'street' => the street portion of the location
- * 'supplemental' => additional street portion of the location
- * 'province' => the province, state, or territory
- * 'country' => lower-cased two-letter ISO code (REQUIRED)
- * 'postal_code' => the international postal code for this location (REQUIRED)
- *
- * @return
- * An associative array where
- * 'lat' => approximate latitude of the center of the postal code's area
- * 'lon' => approximate longitude of the center of the postal code's area
- * 'city' => the city
- * 'province' => the province, state, or territory
- * 'country' => lower-cased two-letter ISO code
- *
- */
- function _location_latlon_postalcode_no($location = array()) {
- // Now we pad the thing and query.
- #$res = db_query("SELECT * FROM {zipcodes} where country = '%s' AND zip = '%s'", $location['country'], str_pad($location['postal_code'], 4, "0", STR_PAD_LEFT));
- $row = db_query("SELECT * FROM {zipcodes} where country = :country AND zip = :zip", array(':country' => $location['country'], ':zip' => $location['postal_code']))->fetchObject();
- if ($row) {
- return array('lat' => $row->latitude, 'lon' => $row->longitude, 'city' => $row->city, 'province' => $row->state, 'country' => $row->country);
- }
- else {
- return NULL;
- }
- }
- /**
- * Returns minimum and maximum latitude and longitude needed to create a bounding box.
- */
- function location_bounds_no() {
- return array(
- 'minlng' => -9.169,
- 'minlat' => 58.037433,
- 'maxlng' => 33.46415,
- 'maxlat' => 80.884167,
- );
- }
|