ReverseGeolocatorButton
This form control is a button which request the current location of the user and fills in the form fields defined in its options.
<div id="getLocation"
class="pdf-hide"
data-win-control="HFWinJSCtrl.ReverseGeolocatorButton"
data-win-options="{
buttonLabel: 'Get Location',
buttonType: 'small',
targetFields: {'address_zip_code':'postal_code', 'address_city': 'locality', 'address_street_and_no':'route + street_number' },
typesSeperator: ', ',
nextToField: 'address_city',
watcher: {
alwaysShowAccuracy: true,
acceptResultAfter: 10,
acceptPositionIfExact: true,
requestAlwaysNewPosition: true
}
}"></div>
FormControl Options
targetFields - required
An object with key-value pairs. The key is the fieldId, the value is one of the possible components of a google maps reverse geocoding result. For more information about the different address types see the reverse geocoding documentation of Google. Concatenation of address types is possible with the plus sign.
targetFields: {'address_zip_code':'postal_code', 'address_city': 'locality', 'address_street_and_no':'route + street_number' }
{ [formControlId: string]: string }
buttonLabel
Sets the label of the button (displayed if buttonType is "medium" or "large")
buttonLabel: 'Get Location'
string
buttonType
There are three buttonTypes "small", "medium" and "large"
buttonType: 'large'
'small' | 'medium' | 'large'
doNotCopy
Set "true" whenever the field should get deleted if form is copied.
doNotCopy: true
boolean
nextToField
Define the form control the button should be placed next to.
nextToField: 'address_city'
string
typesSeperator
Specifies a delimiter for the concatenation of address components, eg. if you want to combine the street (route) with the street number address component in one field, seperated by a comma: "Baker Street, 221b".
typesSeperator: ', '
string
watcher
Define additional functions to the query and the result.
watcher: {...}
object
Watcher Object
acceptPositionIfExact
Set this property to accept the query result automatically if the accuracy deviation is below 10 m.
acceptPositionIfExact: true
boolean
acceptResultAfter
Set this property to the number of seconds after which the result will be accepted automatically and stored.
acceptResultAfter: 10
number
alwaysShowAccuracy
This property provides an information on the approximate deviation in meter and by color code ( red: deviation more than 50 m, orange: deviation between 10 and 50 m, green: deviation lower than 10 m).
alwaysShowAccuracy: true
boolean
true
requestAlwaysNewPosition
Set this property to `false` to prevent any observation of the user position changes and result updates.
requestAlwaysNewPosition: false
boolean
true
Stored data
{
"id": "getLocation",
"value": {
"position": {
"latitude":47.06732,
"longitude":15.43345,
"accuracy":21,
"accuracyFormatted":"~ 21 m",
"timestamp":"2018-07-05T08:38:11.717Z"
},
"geocoderResult": {
"address_components": [
{
"long_name":"1a",
"short_name":"1a",
"types": ["street_number"]
}, {
"long_name":"Entenplatz",
"short_name":"Entenpl.",
"types": ["route"]
}, {
"long_name":"Gries",
"short_name":"Gries",
"types": ["political","sublocality", "sublocality_level_1"]
}, {
"long_name":"Graz",
"short_name":"Graz",
"types": ["locality", "political"]
}, {
"long_name":"Graz",
"short_name":"Graz",
"types": ["administrative_area_level_2","political"]
}, {
"long_name":"Steiermark",
"short_name":"Steiermark",
"types": ["administrative_area_level_1","political"]
}, {
"long_name":"Austria",
"short_name":"AT",
"types": ["country","political"]
}, {
"long_name":"8020",
"short_name":"8020",
"types": ["postal_code"]
}
],
"formatted_address":"Entenplatz 1a, 8020 Graz, Austria",
"geometry": {
"bounds": {
"south":47.0671784,
"west":15.433212700000013,
"north":47.0675852,
"east":15.433834899999965
},
"location": {
"lat":47.0674364,
"lng":15.433538099999964
},
"location_type":"ROOFTOP",
"viewport": {
"south":47.0660328197085,
"west":15.432174819708507,
"north":47.0687307802915,
"east":15.434872780291471
}
},
"place_id":"ChIJQa-mgHk1bkcR-_XOmRNkV8g",
"types":["premise"]
}
}
}