location.ch.inc in Location 7.3
Same filename and directory in other branches
Switzerland.
File
supported/location.ch.incView source
<?php
/**
* @file
* Switzerland.
*/
/**
* Returns an associative array of states/territories.
*/
function location_province_list_ch() {
return array(
'ZH' => "Zurich",
'BE' => "Bern",
'LU' => "Lucerne",
'UR' => "Uri",
'SZ' => "Schwyz",
'OW' => "Obwalden",
'NW' => "Nidwalden",
'GL' => "Glarus",
'ZG' => "Zug",
'FR' => "Fribourg",
'SO' => "Solothurn",
'BS' => "Basel-Stadt",
'BL' => "Basel-Landschaft",
'SH' => "Schaffhausen",
'AR' => "Appenzell Ausserrhoden",
'AI' => "Appenzell Innerhoden",
'SG' => "St. Gallen",
'GR' => "Graubunden",
'AG' => "Aargau",
'TG' => "Thurgau",
'TI' => "Ticino",
'VD' => "Vaud",
'VS' => "Valais",
'NE' => "Neuchatel",
'GE' => "Geneva",
'JU' => "Jura",
);
}
/**
* Providers.
*/
function location_map_link_ch_providers() {
return array(
'search' => array(
'name' => 'map.search.ch',
'url' => 'http://map.search.ch',
'tos' => 'http://map.search.ch/terms.html',
),
'google' => array(
'name' => t('Google Maps'),
'url' => 'http://maps.google.ch',
'tos' => 'http://www.google.ch/help/terms_maps.html',
),
);
}
/**
* Default providers.
*/
function location_map_link_ch_default_providers() {
return array(
'search',
'google',
);
}
/**
* Google link.
*/
function location_map_link_ch_google($location = array()) {
$query_params = array();
foreach (array(
'street',
'city',
'postal_code',
'country',
) as $field) {
if (isset($location[$field])) {
$query_params[] = $location[$field];
}
}
if (count($query_params)) {
return 'http://maps.google.ch?q=' . urlencode(implode(', ', $query_params));
}
else {
return NULL;
}
}
/**
* Map search.
*/
function location_map_link_ch_search($location = array()) {
$query_param = '';
if ($location['postal_code'] || $location['city'] || $location['street']) {
$query_param = $location['postal_code'] . '-' . $location['city'] . '/' . $location['street'];
return 'http://map.search.ch/' . $query_param;
}
else {
return NULL;
}
}
/**
* Direction link.
*/
function location_driving_directions_link_ch($location_a, $location_b) {
return _location_driving_directions_link_ch_search($location_a, $location_b);
}
/**
* Driving search.
*/
function _location_driving_directions_link_ch_search($location_a, $location_b) {
$query_params_a = array();
$query_params_b = array();
foreach (array(
'street',
'postal_code',
'city',
) as $field) {
if (isset($location_a[$field])) {
$query_params_a[] = $location_a[$field];
}
if (isset($location_b[$field])) {
$query_params_b[] = $location_b[$field];
}
}
return 'http://route.search.ch/?route=' . urlencode(implode(' ', $query_params_a) . ' to ' . implode(' ', $query_params_b));
}
/**
* Returns minimum and maximum latitude and longitude needed to create a bounding box.
*/
function location_bounds_ch() {
return array(
'minlng' => 5.8814,
'minlat' => 45.7606,
'maxlng' => 10.58005,
'maxlat' => 47.693367,
);
}
Functions
Name | Description |
---|---|
location_bounds_ch | Returns minimum and maximum latitude and longitude needed to create a bounding box. |
location_driving_directions_link_ch | Direction link. |
location_map_link_ch_default_providers | Default providers. |
location_map_link_ch_google | Google link. |
location_map_link_ch_providers | Providers. |
location_map_link_ch_search | Map search. |
location_province_list_ch | Returns an associative array of states/territories. |
_location_driving_directions_link_ch_search | Driving search. |