// parse tags
for each(var tag:XML in definition.tag) {
- _tags.push( { k:String(tag.@k), v:String(tag.@v)} );
+ _tags.push( { k:String(tag.@k), v:String(tag.@v), vmatch:String(tag.@vmatch)} );
}
// parse 'within'
package net.systemeD.potlatch2.mapfeatures {
- import flash.events.EventDispatcher;
import flash.events.Event;
- import flash.net.URLLoader;
-
- import flash.system.Security;
- import flash.net.*;
-
- import mx.core.UIComponent;
- import mx.controls.DataGrid;
-
+ import flash.events.EventDispatcher;
+ import flash.net.*;
+
+ import net.systemeD.halcyon.NestedXMLLoader;
import net.systemeD.halcyon.connection.*;
- import net.systemeD.halcyon.NestedXMLLoader;
/** All the information about all available map features that can be selected by the user or matched against entities in the map.
* The list of map features is populated from an XML file the first time the MapFeatures instance is accessed.
var match:Boolean = true;
// check for matching tags
+ // the "match" attribute lets you specify other values that will match this feature
+ // but won't affect the default value assigned. format is "*" or a regex.
for each(var tag:Object in feature.tags) {
var entityTag:String = entity.getTag(tag.k);
- match = entityTag == tag.v || (entityTag != null && tag.v == "*");
+ if (entityTag == null) { match = false; break; }
+ match =
+ tag.v == entityTag
+ || tag.v == "*"
+ || tag.vmatch == "*"
+ || tag.vmatch != "" && entityTag.match(new RegExp("^" + tag.vmatch + "$"));
if ( !match ) break;
}
Roads\r
************************************************************************ -->\r
\r
+\r
<feature name="Motorway">\r
<category>roads</category>\r
<icon image="features/highway__motorway.png">\r
<icon image="icons/speed_hump_16.png"/>\r
<help>http://wiki.openstreetmap.org/wiki/Key:traffic%3Dcalming</help>\r
<point/>\r
- <!-- Warning: creates "traffic_calming=*" by default, but it's the best we can do. Steve Bennett-->\r
- <!--<tag k="traffic_calming" v="*"/>-->\r
- <tag k="traffic_calming" v="yes"/>\r
+ <tag k="traffic_calming" v="yes" vmatch="*"/>\r
<input type="choice" key="traffic_calming" name="Obstacle type" category="Traffic calming" presence="onTagMatch">\r
<choice value="yes" text="Unspecified"/>\r
<choice value="bump" text="Short bump" description="A sharp speed bump, typically slowing cars to 15 kph or less."/>\r