first import
This commit is contained in:
474
sites/all/modules/openlayers/includes/openlayers.layers.inc
Normal file
474
sites/all/modules/openlayers/includes/openlayers.layers.inc
Normal file
@@ -0,0 +1,474 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* OpenLayers default packaged layers
|
||||
*/
|
||||
function _openlayers_openlayers_layers() {
|
||||
global $is_https;
|
||||
$mapquest_host = $is_https ? '-s.mqcdn.com' : '.mqcdn.com';
|
||||
|
||||
$layers = array();
|
||||
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'google_satellite';
|
||||
$layer->title = 'Google Maps Satellite';
|
||||
$layer->description = 'Google Maps Satellite Imagery.';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => TRUE,
|
||||
'type' => 'satellite',
|
||||
'projection' => array('900913'),
|
||||
'layer_type' => 'openlayers_layer_type_google',
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'google_hybrid';
|
||||
$layer->title = 'Google Maps Hybrid';
|
||||
$layer->description = 'Google Maps with roads and terrain.';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => TRUE,
|
||||
'type' => 'hybrid',
|
||||
'projection' => array('900913'),
|
||||
'layer_type' => 'openlayers_layer_type_google',
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'google_normal';
|
||||
$layer->title = 'Google Maps Normal';
|
||||
$layer->description = 'Standard Google Maps Roads';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => TRUE,
|
||||
'type' => 'normal',
|
||||
'projection' => array('900913'),
|
||||
'layer_type' => 'openlayers_layer_type_google',
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'google_physical';
|
||||
$layer->title = 'Google Maps Physical';
|
||||
$layer->description = 'Google Maps Hillshades';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => TRUE,
|
||||
'type' => 'physical',
|
||||
'projection' => array('900913'),
|
||||
'layer_type' => 'openlayers_layer_type_google',
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'mapquest_osm';
|
||||
$layer->title = 'MapQuest OSM';
|
||||
$layer->description = 'MapQuest’s rendering of OpenStreetMap.';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => TRUE,
|
||||
'attribution' => t('©<a href="@ccbysa">CCBYSA</a> '.
|
||||
'<a href="@openstreetmap">© OpenStreetMap contributors</a>',
|
||||
array(
|
||||
'@openstreetmap' => 'http://www.openstreetmap.org/copyright',
|
||||
'@ccbysa' => 'http://creativecommons.org/licenses/by-sa/2.0/',
|
||||
)
|
||||
) . '. '. t('Tiles Courtesy of <a href="http://www.mapquest.com/">MapQuest</a>.'),
|
||||
'projection' => array('900913'),
|
||||
'layer_type' => 'openlayers_layer_type_xyz',
|
||||
'url' => array(
|
||||
'//otile1' . $mapquest_host . '/tiles/1.0.0/osm/${z}/${x}/${y}.png',
|
||||
'//otile2' . $mapquest_host . '/tiles/1.0.0/osm/${z}/${x}/${y}.png',
|
||||
'//otile3' . $mapquest_host . '/tiles/1.0.0/osm/${z}/${x}/${y}.png',
|
||||
'//otile4' . $mapquest_host . '/tiles/1.0.0/osm/${z}/${x}/${y}.png',
|
||||
),
|
||||
'wrapDateLine' => FALSE,
|
||||
'resolutions' => openlayers_get_resolutions('900913', 0, 19)
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'mapquest_openaerial';
|
||||
$layer->title = 'MapQuest Open Aerial';
|
||||
$layer->description = 'MapQuest’s aerial photo map.';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => TRUE,
|
||||
'attribution' => t('Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency.')
|
||||
. ' '. t('Tiles Courtesy of <a href="http://www.mapquest.com/">MapQuest</a>.'),
|
||||
'projection' => array('900913'),
|
||||
'layer_type' => 'openlayers_layer_type_xyz',
|
||||
'url' => array(
|
||||
'//oatile1' . $mapquest_host . '/naip/${z}/${x}/${y}.png',
|
||||
'//oatile2' . $mapquest_host . '/naip/${z}/${x}/${y}.png',
|
||||
'//oatile3' . $mapquest_host . '/naip/${z}/${x}/${y}.png',
|
||||
'//oatile4' . $mapquest_host . '/naip/${z}/${x}/${y}.png',
|
||||
),
|
||||
'wrapDateLine' => TRUE,
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'yahoo_satellite';
|
||||
$layer->title = 'Yahoo Maps Satellite';
|
||||
$layer->description = 'Yahoo satellite imagery tiles.';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => TRUE,
|
||||
'type' => 'satellite',
|
||||
'projection' => array('900913'),
|
||||
'layer_type' => 'openlayers_layer_type_yahoo',
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'yahoo_street';
|
||||
$layer->title = 'Yahoo Maps Street';
|
||||
$layer->description = 'Yahoo streets tiles.';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => TRUE,
|
||||
'type' => 'street',
|
||||
'projection' => array('900913'),
|
||||
'layer_type' => 'openlayers_layer_type_yahoo',
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'yahoo_hybrid';
|
||||
$layer->title = 'Yahoo Maps Hybrid';
|
||||
$layer->description = 'Yahoo hybrid of streets and satellite tiles.';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => TRUE,
|
||||
'type' => 'hybrid',
|
||||
'projection' => array('900913'),
|
||||
'layer_type' => 'openlayers_layer_type_yahoo',
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
// Bing Road
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'bing_road';
|
||||
$layer->title = 'Bing Road';
|
||||
$layer->description = 'Bing Road tiles.';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => TRUE,
|
||||
'type' => 'Road',
|
||||
'projection' => array('900913'),
|
||||
'layer_type' => 'openlayers_layer_type_bing',
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
// Bing Aerial
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'bing_aerial';
|
||||
$layer->title = 'Bing Aerial';
|
||||
$layer->description = 'Bing Aerial tiles.';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => TRUE,
|
||||
'type' => 'Aerial',
|
||||
'projection' => array('900913'),
|
||||
'layer_type' => 'openlayers_layer_type_bing',
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
// Bing Hybrid
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'bing_hybrid';
|
||||
$layer->title = 'Bing Hybrid';
|
||||
$layer->description = 'Bing Hybrid tiles.';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => TRUE,
|
||||
'type' => 'AerialWithLabels',
|
||||
'projection' => array('900913'),
|
||||
'layer_type' => 'openlayers_layer_type_bing',
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
// OpenStreetMap Mapnik
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'osm_mapnik';
|
||||
$layer->title = 'OSM Mapnik';
|
||||
$layer->description = 'The main OpenStreetMap map';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => TRUE,
|
||||
'attribution' => t('©<a href="@ccbysa">CCBYSA</a> '.
|
||||
'<a href="@openstreetmap">© OpenStreetMap contributors</a>',
|
||||
array(
|
||||
'@openstreetmap' => 'http://www.openstreetmap.org/copyright',
|
||||
'@ccbysa' => 'http://creativecommons.org/licenses/by-sa/2.0/',
|
||||
)
|
||||
),
|
||||
'projection' => array('900913'),
|
||||
'layer_type' => 'openlayers_layer_type_xyz',
|
||||
'url' => '//tile.openstreetmap.org/${z}/${x}/${y}.png',
|
||||
'wrapDateLine' => TRUE,
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
// OpenStreetMap Cycling Map
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'osm_cycle';
|
||||
$layer->title = 'OSM Cycling Map';
|
||||
$layer->description = 'OpenStreetMap with highlighted bike lanes';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => TRUE,
|
||||
'attribution' => t('©<a href="@ccbysa">CCBYSA</a> '.
|
||||
'<a href="@openstreetmap">© OpenStreetMap contributors</a>',
|
||||
array(
|
||||
'@openstreetmap' => 'http://www.openstreetmap.org/copyright',
|
||||
'@ccbysa' => 'http://creativecommons.org/licenses/by-sa/2.0/',
|
||||
)
|
||||
),
|
||||
'projection' => array('900913'),
|
||||
'layer_type' => 'openlayers_layer_type_xyz',
|
||||
'url' => '//a.tile.opencyclemap.org/cycle/${z}/${x}/${y}.png',
|
||||
'wrapDateLine' => TRUE,
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
// OpenStreetMap 426 hybrid overlay
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'osm_4326_hybrid';
|
||||
$layer->title = 'OSM Overlay';
|
||||
$layer->description = 'Semi-transparent hybrid overlay. Projected into
|
||||
WSG84 for use on non spherical-mercator maps.';
|
||||
$layer->data = array(
|
||||
'isBaseLayer' => FALSE,
|
||||
'attribution' => t('©<a href="@ccbysa">CCBYSA</a> '.
|
||||
'<a href="@openstreetmap">© OpenStreetMap contributors</a>',
|
||||
array(
|
||||
'@openstreetmap' => 'http://www.openstreetmap.org/copyright',
|
||||
'@ccbysa' => 'http://creativecommons.org/licenses/by-sa/2.0/',
|
||||
)
|
||||
),
|
||||
'projection' => array('4326'),
|
||||
'layer_type' => 'openlayers_layer_type_wms',
|
||||
'url' => 'http://oam.hypercube.telascience.org/tiles',
|
||||
'params' => array(
|
||||
'isBaseLayer' => FALSE,
|
||||
'layers' => 'osm-4326-hybrid',
|
||||
),
|
||||
'options' => array(
|
||||
'buffer' => 1,
|
||||
),
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
/* Example with KML layer */
|
||||
$layer = new stdClass();
|
||||
$layer->disabled = FALSE; /* Edit this to true to make a default openlayers_layers disabled initially */
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'openlayers_kml_example';
|
||||
$layer->title = 'KML Example Layer';
|
||||
$layer->description = 'A simple example of KML Layer Type.';
|
||||
$layer->data = array(
|
||||
'method' => 'raw',
|
||||
'raw' => '<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://www.opengis.net/kml/2.2"><Placemark><name>Simple placemark</name><description>Attached to the ground. Intelligently places itself at the height of the underlying terrain.</description><Point><coordinates>-122.0822035425683,37.42228990140251,0</coordinates></Point></Placemark></kml>',
|
||||
'formatOptions' => array(
|
||||
'extractStyles' => TRUE,
|
||||
'extractTracks' => FALSE,
|
||||
'extractAttributes' => TRUE,
|
||||
),
|
||||
'projection' => array(
|
||||
0 => '4326',
|
||||
),
|
||||
'isBaseLayer' => 0,
|
||||
'layer_type' => 'openlayers_layer_type_kml',
|
||||
'layer_handler' => 'kml',
|
||||
'vector' => TRUE,
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
// MetaCarts base map
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'wms_default';
|
||||
$layer->title = 'Default OpenLayers WMS';
|
||||
$layer->description = 'MetaCarta basemap of province and water boundaries';
|
||||
$layer->data = array(
|
||||
'projection' => array('4326'),
|
||||
'isBaseLayer' => TRUE,
|
||||
'layer_type' => 'openlayers_layer_type_wms',
|
||||
'base_url' => '//labs.metacarta.com/wms-c/Basic.py',
|
||||
'params' => array(
|
||||
'isBaseLayer' => TRUE,
|
||||
),
|
||||
'options' => array(
|
||||
'layers' => array('basic'),
|
||||
'maxExtent' => openlayers_get_extent('4326'),
|
||||
),
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
// GeoJSON example with direct data
|
||||
$layer = new stdClass();
|
||||
$layer->api_version = 1;
|
||||
$layer->name = 'openlayers_geojson_picture_this';
|
||||
$layer->title = t('Example GeoJSON, "Picture This"');
|
||||
$layer->description = t('Example that puts GeoJSON directly in layer without Views.');
|
||||
$layer->data = array(
|
||||
'resolutions' => openlayers_get_resolutions('900913'),
|
||||
'serverResolutions' => openlayers_get_resolutions('4326'),
|
||||
'layer_type' => 'openlayers_layer_type_geojson',
|
||||
'layer_handler' => 'geojson',
|
||||
'projection' => array('4326'),
|
||||
'isBaseLayer' => FALSE,
|
||||
'vector' => TRUE,
|
||||
'geojson_data' => '
|
||||
{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"name": "' . t('Picture This') . '",
|
||||
"description": "' . t('Outside of the North Carolina Museum of Art.') . '"
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [
|
||||
-78.702798,
|
||||
35.809411
|
||||
]
|
||||
},
|
||||
"crs": {
|
||||
"type": "name",
|
||||
"properties": {
|
||||
"name": "urn:ogc:def:crs:OGC:1.3:CRS84"
|
||||
}
|
||||
}
|
||||
}
|
||||
',
|
||||
);
|
||||
$layers[$layer->name] = $layer;
|
||||
|
||||
$info = _mapbox_layers_info();
|
||||
$resolutions = array_combine(range(0, 21), openlayers_get_resolutions('900913'));
|
||||
|
||||
foreach ($info as $key => $item) {
|
||||
$openlayers_layers = new stdClass;
|
||||
$openlayers_layers->disabled = FALSE; /* Edit this to true to make a default openlayers_layers disabled initially */
|
||||
$openlayers_layers->api_version = 1;
|
||||
$openlayers_layers->name = $key;
|
||||
$openlayers_layers->title = $item['name'];
|
||||
$openlayers_layers->description = $item['description'];
|
||||
$openlayers_layers->data = array(
|
||||
'url' => array(
|
||||
0 => 'http://a.tiles.mapbox.com/',
|
||||
1 => 'http://b.tiles.mapbox.com/',
|
||||
2 => 'http://c.tiles.mapbox.com/',
|
||||
3 => 'http://d.tiles.mapbox.com/',
|
||||
),
|
||||
'layername' => $item['layername'],
|
||||
'layer_type' => 'openlayers_layer_type_mapbox',
|
||||
'osm' => FALSE,
|
||||
'isBaseLayer' => TRUE,
|
||||
'type' => 'png',
|
||||
'resolutions' => array_intersect_key($resolutions, array_flip(range($item['minzoom'], $item['maxzoom']))),
|
||||
'projection' => array('900913'),
|
||||
);
|
||||
$layers[$key] = $openlayers_layers;
|
||||
}
|
||||
|
||||
return $layers;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is for the po editor to be able to find these strings,
|
||||
* since in the codebase they are not in t()'s, because they are later
|
||||
* run through t() in the layer loader function
|
||||
*/
|
||||
function _openlayers_openlayers_layers_i18n() {
|
||||
$translatable_strings = array(
|
||||
// titles
|
||||
t('Google Maps Satellite'),
|
||||
t('Google Maps Hybrid'),
|
||||
t('Google Maps Normal'),
|
||||
t('Google Maps Physical'),
|
||||
t('Bing Road'),
|
||||
t('Bing Aerial'),
|
||||
t('Bing Hybrid'),
|
||||
t('Yahoo Maps Street'),
|
||||
t('Yahoo Maps Hybrid'),
|
||||
t('Yahoo Maps Satellite'),
|
||||
t('OSM Mapnik'),
|
||||
t('OSM Cycling Map'),
|
||||
t('OSM Overlay'),
|
||||
t('Default OpenLayers WMS'),
|
||||
// descriptions
|
||||
t('Alternative, community-rendered OpenStreetMap'),
|
||||
t('Google Maps Hillshades'),
|
||||
t('Google Maps Satellite Imagery.'),
|
||||
t('Google Maps with roads and terrain.'),
|
||||
t('MetaCarta basemap of province and water boundaries'),
|
||||
t('OpenStreetMap with highlighted bike lanes'),
|
||||
t('Semi-transparent hybrid overlay. Projected into
|
||||
WSG84 for use on non spherical-mercator maps.'),
|
||||
t('Standard Google Maps Roads'),
|
||||
t('The main OpenStreetMap map'),
|
||||
t('Bing Road tiles.'),
|
||||
t('Bing Aerial tiles.'),
|
||||
t('Bing Hybrid tiles.'),
|
||||
t('Yahoo hybrid of streets and satellite tiles.'),
|
||||
t('Yahoo satellite imagery tiles.'),
|
||||
t('Yahoo streets tiles.'),
|
||||
t('MapQuest’s rendering of OpenStreetMap.'),
|
||||
t('MapQuest’s aerial photo map.'),
|
||||
);
|
||||
}
|
||||
|
||||
function _mapbox_layers_info() {
|
||||
$info = array();
|
||||
$info['mapbox_streets'] = array(
|
||||
'name'=> t('MapBox Streets'),
|
||||
'description' => t('MapBox Streets'),
|
||||
'layername' => 'mapbox-streets',
|
||||
'minzoom' => 0,
|
||||
'maxzoom' => 16
|
||||
);
|
||||
$info['mapbox_world_bright'] = array(
|
||||
'name' => t('MapBox World Bright'),
|
||||
'description' => t('MapBox World Bright'),
|
||||
'layername' => 'world-bright',
|
||||
'minzoom' => 0,
|
||||
'maxzoom' => 11,
|
||||
);
|
||||
$info['mapbox_world_dark'] = array(
|
||||
'name' => t('MapBox World Dark'),
|
||||
'description' => t('MapBox World Dark'),
|
||||
'layername' => 'world-dark',
|
||||
'minzoom' => 0,
|
||||
'maxzoom' => 11,
|
||||
);
|
||||
$info['mapbox_world_light'] = array(
|
||||
'name' => t('MapBox World Light'),
|
||||
'description' => t('MapBox World Light'),
|
||||
'layername' => 'world-light',
|
||||
'minzoom' => 0,
|
||||
'maxzoom' => 11,
|
||||
);
|
||||
$info['mapbox_world_print'] = array(
|
||||
'name' => t('MapBox World Print'),
|
||||
'description' => t('MapBox World Print'),
|
||||
'layername' => 'world-print',
|
||||
'minzoom' => 0,
|
||||
'maxzoom' => 9,
|
||||
);
|
||||
$info['mapbox_world_black'] = array(
|
||||
'name' => t('MapBox World Black'),
|
||||
'description' => t('MapBox World Black'),
|
||||
'layername' => 'world-black',
|
||||
'minzoom' => 0,
|
||||
'maxzoom' => 11,
|
||||
);
|
||||
|
||||
return $info;
|
||||
}
|
||||
Reference in New Issue
Block a user