L.tileLayer(get_config_value('Map_Tile_URL'), {
// moved to footer
- attribution: (get_config_value('Map_Tile_Attribution') || null ) //'© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
+ attribution: (get_config_value('Map_Tile_Attribution') || null ) //'© <a href="https://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
var layerGroup = new L.layerGroup().addTo(map);
if (geojson) {
var geojson_layer = L.geoJson(
- // http://leafletjs.com/reference-1.0.3.html#path-option
+ // https://leafletjs.com/reference-1.0.3.html#path-option
parse_and_normalize_geojson_string(geojson),
{
style: function(feature) {
place_id: search_params.get('place_id'),
osmtype: search_params.get('osmtype'),
osmid: search_params.get('osmid'),
- group_parents: 1,
+ keywords: search_params.get('keywords'),
+ addressdetails: 1,
+ hierarchy: 1,
+ group_hierarchy: 1,
+ polygon_geojson: 1,
format: 'json'
};
- fetch_from_api('details', api_request_params, function(aFeature){
+ if (api_request_params.place_id || (api_request_params.osmtype && api_request_params.osmid )){
+ fetch_from_api('details', api_request_params, function(aFeature){
- var context = { aPlace: aFeature };
+ var context = { aPlace: aFeature };
- render_template($('main'), 'detailspage-template', context);
+ render_template($('main'), 'detailspage-template', context);
- update_data_date();
+ update_data_date();
- init_map_on_detail_page(aFeature.lat, aFeature.lon, aFeature.geojson);
+ var lat = aFeature.centroid.coordinates[1];
+ var lon = aFeature.centroid.coordinates[0];
+ init_map_on_detail_page(lat, lon, aFeature.geometry);
+ });
+ } else {
+ render_template($('main'), 'detailspage-index-template');
+ }
+
+ $('#form-by-type-and-id,#form-by-osm-url').on('submit', function(e){
+ e.preventDefault();
+
+ var val = $(this).find('input[type=edit]').val();
+ var matches = val.match(/^\s*([NWR])(\d+)\s*$/i);
+
+ if (!matches) {
+ matches = val.match(/\/(relation|way|node)\/(\d+)\s*$/);
+ }
+
+ if (matches) {
+ $(this).find('input[name=osmtype]').val(matches[1].charAt(0).toUpperCase());
+ $(this).find('input[name=osmid]').val(matches[2]);
+ $(this).get(0).submit();
+ } else {
+ alert('invalid input');
+ }
});
+
});
\ No newline at end of file