// extract, tranform and split features to layers
var EPSG4326 = new OpenLayers.Projection("EPSG:4326"); // lon/lat
var EPSG3857 = new OpenLayers.Projection("EPSG:3857"); // google
- var POINT_NAME = {'sledrun': 'Rodelbahn', 'inn': 'Gasthaus', 'busstop': 'Haltestelle', 'carpark': 'Parkplatz', 'attention': 'Achtung', 'point': 'Punkt'};
var format_json = new OpenLayers.Format.JSON();
var json_js = format_json.read(json_string);
var format_geojson = new OpenLayers.Format.GeoJSON();
context: {
getStrokeColor: function(feature) {
if (feature.attributes.strokeColor !== undefined) return feature.attributes.strokeColor;
- if (feature.attributes.type == 'sledrun') return '#014e9a';
- if (feature.attributes.type == 'walk') return '#e98401';
+ if (feature.attributes.type == 'rodelbahn') return '#014e9a';
+ if (feature.attributes.type == 'gehweg') return '#e98401';
if (feature.attributes.type == 'alternative') return '#7f7fff';
if (feature.attributes.type == 'lift') return '#000000';
+ if (feature.attributes.type == 'anfahrt') return '#e1e100';
return '#ee9900';
},
getStrokeWidth: function(feature) {
if (feature.attributes.strokeWidth !== undefined) return feature.attributes.strokeWidth;
- if (feature.attributes.type == 'lift') return 3;
+ if (feature.attributes.type == 'lift' || feature.attributes.type == 'anfahrt') return 3;
return 6;
}
}
return feature.condition;
},
getSymbol: function(feature) {
- var name = POINT_NAME[feature.attributes.type];
- if (feature.attributes.type == 'point' || name === undefined) return '';
+ var name = feature.attributes.type;
return name;
}
},
new OpenLayers.Rule({
elseFilter: true,
symbolizer: {
- externalGraphic: '/vorlagen/gmap${getSymbol}.png',
+ externalGraphic: '/vorlagen/gmap_${getSymbol}.png',
graphicWidth: 20,
graphicHeight: 34,
graphicXOffset: -10,
// map itself
// ----------
- var lon = parseFloat(jq_map.attr('data-center-lon'));
- var lat = parseFloat(jq_map.attr('data-center-lat'));
- var zoom = parseInt(jq_map.attr('data-zoom'));
+ var lon = json_js.properties.lon;
+ var lat = json_js.properties.lat;
+ var zoom = json_js.properties.zoom;
var map = new OpenLayers.Map(jq_map.context, {
projection: EPSG3857,
displayProjection: EPSG4326,