Version compatibility
marker
was introduced in version 4.82.0 of the JourneyApps Runtime.
Overview
A marker
can visually highlight a specific location on a map within either the capture-coordinates
or display-coordinates
UI component.
Example - Binding Multiple Markers
capture-coordinates display-coordinates
Below is an example of using capture-coordinates
along with multiple custom markers.
Copy <var name="current_location" type="location" />
<var name="map_center" type="location" />
<var name="high_school" type="location" />
<var name="food" type="location" />
<capture-coordinates label="My Location" bind="current_location" allow-zoom="true" allow-dragging="true" >
<marker bind="map_center" icon="fa-user"/>
<marker bind="high_school" icon="fa-graduation-cap" />
<marker bind="food" icon="fa-utensils" />
</capture-coordinates>
Copy function init() {
view.map_center = new Location({
latitude: 39.7562259,
longitude: -105.0094353
});
view.high_school = new Location({
latitude: 39.7553694,
longitude: -105.0195773
});
view.food = new Location({
latitude: 39.7497094,
longitude: -105.0053815
});
}
Below is an example of using display-coordinates
along with multiple custom markers.
Copy <var name="map_center" type="location" />
<var name="high_school" type="location" />
<var name="food" type="location" />
<var name="my_location" type="location" />
<display-coordinates label="My Location" bind="map_center" allow-zoom="true" allow-dragging="true" >
<marker bind="map_center" icon="fa-building"/>
<marker bind="high_school" icon="fa-graduation-cap" />
<marker bind="food" icon="fa-utensils" />
<marker bind="my_location" icon="fa-user" />
</display-coordinates>
Copy function init() {
view.map_center = new Location({
latitude: 39.7562259,
longitude: -105.0094353
});
view.high_school = new Location({
latitude: 39.7553694,
longitude: -105.0195773
});
view.food = new Location({
latitude: 39.7497094,
longitude: -105.0053815
});
view.my_location = journey.hardware.getCurrentLocation();
}
Standard Attributes
bind
bind label
Optional
Type: string
(static text, a format string or the return value of a JS/TS function )
Default : unset
Text to display above the marker in a floating bubble. Text is displayed once a user interacts with the marker.
capture-coordinates display-coordinates
View XML using marker
:
Copy <var name="current_location" type="location" />
<var name="marker" type="location" />
<capture-coordinates bind="current_location">
<marker latitude="{marker.latitude}" longitude="{marker.longitude}" label="This is an example label" />
</capture-coordinates>
View JS using marker
:
Copy function init() {
// Example marker
view.marker = new Location({
latitude: 39.7553694,
longitude: -105.0195773
});
}
View XML using marker-query
:
Copy <var name="current_location" type="location" />
<var name="markers" type="array:custom_marker" />
<capture-coordinates bind="current_location">
<marker-query query="markers" latitude="{location.latitude}" longitude="{location.longitude}" label="This is an example label" />
</capture-coordinates>
View JS using marker-query
:
Copy function init() {
view.markers = DB.custom_marker.where('location != ?', null).toArray();
}
View XML using marker
:
Copy <var name="current_location" type="location" />
<var name="marker" type="location" />
<display-coordinates bind="current_location">
<marker latitude="{marker.latitude}" longitude="{marker.longitude}" label="This is an example label" />
</display-coordinates>
View JS using marker
:
Copy function init() {
// Example marker
view.marker = new Location({
latitude: 39.7553694,
longitude: -105.0195773
});
}
View XML using marker-query
:
Copy <var name="current_location" type="location" />
<var name="markers" type="array:custom_marker" />
<display-coordinates bind="current_location">
<marker-query query="markers" latitude="{location.latitude}" longitude="{location.longitude}" label="This is an example label" />
</display-coordinates>
View JS using marker-query
:
Copy function init() {
view.markers = DB.custom_marker.where('location != ?', null).toArray();
}
Also see:
label latitude
and longitude
Optional
Type : location
Default : unset
Specifies at which latitude and longitude the marker will be positioned on the map. Use latitude
and longitude
from the location
variable/field to specify the marker location.
latitude
and longitude
can be replaced with bind
.
capture-coordinates display-coordinates
View XML using marker
:
Copy <var name="current_location" type="location" />
<var name="marker" type="location" />
<capture-coordinates bind="current_location">
<marker latitude="{marker.latitude}" longitude="{marker.longitude}" />
</capture-coordinates>
View JS using marker
:
Copy function init() {
// Example marker
view.marker = new Location({
latitude: 39.7553694,
longitude: -105.0195773
});
}
View XML using marker-query
:
Copy <var name="current_location" type="location" />
<var name="markers" type="array:custom_marker" />
<capture-coordinates bind="current_location">
<marker-query query="markers" latitude="{location.latitude}" longitude="{location.longitude}" />
</capture-coordinates>
View JS using marker-query
:
Copy function init() {
view.markers = DB.custom_marker.where('location != ?', null).toArray();
}
View XML using marker
:
Copy <var name="current_location" type="location" />
<var name="marker" type="location" />
<display-coordinates bind="current_location">
<marker latitude="{marker.latitude}" longitude="{marker.longitude}" />
</display-coordinates>
View JS using marker
:
Copy function init() {
// Example marker
view.marker = new Location({
latitude: 39.7553694,
longitude: -105.0195773
});
}
View XML using marker-query
:
Copy <var name="current_location" type="location" />
<var name="markers" type="array:custom_marker" />
<display-coordinates bind="current_location">
<marker-query query="markers" latitude="{location.latitude}" longitude="{location.longitude}" />
</display-coordinates>
View JS using marker-query
:
Copy function init() {
view.markers = DB.custom_marker.where('location != ?', null).toArray();
}
Advanced Attributes
color
Optional
Type : string
- can be a named color or #HEX value
Default : unset
Specify the color of the marker background.
capture-coordinates display-coordinates
View XML using marker
:
Copy <var name="current_location" type="location" />
<var name="marker" type="location" />
<capture-coordinates bind="current_location">
<marker latitude="{marker.latitude}" longitude="{marker.longitude}" color="#000" />
</capture-coordinates>
View JS using marker
:
Copy function init() {
// Example marker
view.marker = new Location({
latitude: 39.7553694,
longitude: -105.0195773
});
}
View XML using marker-query
:
Copy <var name="current_location" type="location" />
<var name="markers" type="array:custom_marker" />
<capture-coordinates bind="current_location">
<marker-query query="markers" latitude="{location.latitude}" longitude="{location.longitude}" color="#000" />
</capture-coordinates>
View JS using marker-query
:
Copy function init() {
view.markers = DB.custom_marker.where('location != ?', null).toArray();
}
View XML using marker
:
Copy <var name="current_location" type="location" />
<var name="marker" type="location" />
<display-coordinates bind="current_location">
<marker latitude="{marker.latitude}" longitude="{marker.longitude}" color="#000" />
</display-coordinates>
View JS using marker
:
Copy function init() {
// Example marker
view.marker = new Location({
latitude: 39.7553694,
longitude: -105.0195773
});
}
View XML using marker-query
:
Copy <var name="current_location" type="location" />
<var name="markers" type="array:custom_marker" />
<display-coordinates bind="current_location">
<marker-query query="markers" latitude="{location.latitude}" longitude="{location.longitude}" color="#000" />
</display-coordinates>
View JS using marker-query
:
Copy function init() {
view.markers = DB.custom_marker.where('location != ?', null).toArray();
}
icon
Optional
Type : string
Default : fa-circle
Specify the icon shown in the marker. Find a list of available icons here .
capture-coordinates display-coordinates
View XML using marker
:
Copy <var name="current_location" type="location" />
<var name="marker" type="location" />
<capture-coordinates bind="current_location">
<marker latitude="{marker.latitude}" longitude="{marker.longitude}" icon="fa-star" />
</capture-coordinates>
View JS using marker
:
Copy function init() {
// Example marker
view.marker = new Location({
latitude: 39.7553694,
longitude: -105.0195773
});
}
View XML using marker-query
:
Copy <var name="current_location" type="location" />
<var name="markers" type="array:custom_marker" />
<capture-coordinates bind="current_location">
<marker-query query="markers" latitude="{location.latitude}" longitude="{location.longitude}" icon="fa-star" />
</capture-coordinates>
View JS using marker-query
:
Copy function init() {
view.markers = DB.custom_marker.where('location != ?', null).toArray();
}
View XML using marker
:
Copy <var name="current_location" type="location" />
<var name="marker" type="location" />
<display-coordinates bind="current_location">
<marker latitude="{marker.latitude}" longitude="{marker.longitude}" icon="fa-star" />
</display-coordinates>
View JS using marker
:
Copy function init() {
// Example marker
view.marker = new Location({
latitude: 39.7553694,
longitude: -105.0195773
});
}
View XML using marker-query
:
Copy <var name="current_location" type="location" />
<var name="markers" type="array:custom_marker" />
<display-coordinates bind="current_location">
<marker-query query="markers" latitude="{location.latitude}" longitude="{location.longitude}" icon="fa-star" />
</display-coordinates>
View JS using marker-query
:
Copy function init() {
view.markers = DB.custom_marker.where('location != ?', null).toArray();
}
icon-color
Optional
Type : string
- can be a named color or #HEX value
Default : unset
Specify the color of the icon
.
capture-coordinates display-coordinates
View XML using marker
:
Copy <var name="current_location" type="location" />
<var name="marker" type="location" />
<capture-coordinates bind="current_location">
<marker latitude="{marker.latitude}" longitude="{marker.longitude}" icon="fa-star" icon-color="#000" />
</capture-coordinates>
View JS using marker
:
Copy function init() {
// Example marker
view.marker = new Location({
latitude: 39.7553694,
longitude: -105.0195773
});
}
View XML using marker-query
:
Copy <var name="current_location" type="location" />
<var name="markers" type="array:custom_marker" />
<capture-coordinates bind="current_location">
<marker-query query="markers" latitude="{location.latitude}" longitude="{location.longitude}" icon="fa-star" icon-color="#000" />
</capture-coordinates>
View JS using marker-query
:
Copy function init() {
view.markers = DB.custom_marker.where('location != ?', null).toArray();
}
View XML using marker
:
Copy <var name="current_location" type="location" />
<var name="marker" type="location" />
<display-coordinates bind="current_location">
<marker latitude="{marker.latitude}" longitude="{marker.longitude}" icon="fa-star" icon-color="#000" />
</display-coordinates>
View JS using marker
:
Copy function init() {
// Example marker
view.marker = new Location({
latitude: 39.7553694,
longitude: -105.0195773
});
}
View XML using marker-query
:
Copy <var name="current_location" type="location" />
<var name="markers" type="array:custom_marker" />
<display-coordinates bind="current_location">
<marker-query query="markers" latitude="{location.latitude}" longitude="{location.longitude}" icon="fa-star" icon-color="#000" />
</display-coordinates>
View JS using marker-query
:
Copy function init() {
view.markers = DB.custom_marker.where('location != ?', null).toArray();
}
on-press
on-press show-if
and hide-if
show-if hide-if