@@ -7,6 +7,7 @@ import { showElevationChart } from 'maplibre/feature/elevation'
77import { getFeature , getFeatureSource , layers } from "maplibre/layers/layers"
88import { wikipediaFeatureDescription } from 'maplibre/layers/wikipedia'
99import { map } from 'maplibre/map'
10+ import { featureColor } from 'maplibre/styles/styles'
1011import { marked } from 'marked'
1112
1213window . marked = marked
@@ -156,24 +157,27 @@ async function featureDescription (feature) {
156157// set title image according to feature type
157158export function featureIcon ( feature ) {
158159 let image = ''
160+ let iconColor = feature . properties [ 'marker-color' ] || feature . properties [ 'fill' ] || feature . properties [ 'stroke' ] || featureColor
161+ if ( iconColor === 'transparent' ) { iconColor = '#c0c0c0' }
162+ let iconColorStyle = `style='color: ${ iconColor } ;'`
159163 if ( feature . properties [ 'marker-image-url' ] ) {
160164 image = "<img class='feature-details-icon' src='" + feature . properties [ 'marker-image-url' ] + "'>"
161165 } else if ( feature . properties [ 'marker-symbol' ] ) {
162166 image = "<img class='feature-details-icon' src='/emojis/noto/" + feature . properties [ 'marker-symbol' ] + ".png'>"
163167 } else if ( feature . properties [ 'stroke-image-url' ] ) {
164168 image = "<img class='feature-details-icon' src='" + feature . properties [ 'stroke-image-url' ] + "'>"
165169 } else if ( feature . properties ?. route ?. profile === "cycling-mountain" || feature . properties ?. route ?. profile === "bike" ) {
166- image = " <i class='bi bi-bicycle fs-3'>"
170+ image = ` <i class='bi bi-bicycle fs-3' ${ iconColorStyle } >`
167171 } else if ( feature . properties ?. route ?. profile === "driving-car" || feature . properties ?. route ?. profile === "car" ) {
168- image = " <i class='bi bi-car-front fs-3'>"
172+ image = ` <i class='bi bi-car-front fs-3' ${ iconColorStyle } >`
169173 } else if ( feature . properties ?. route ?. profile === "foot" ) {
170- image = " <i class='bi bi-person-walking fs-3'>"
174+ image = ` <i class='bi bi-person-walking fs-3' ${ iconColorStyle } >`
171175 } else if ( feature . geometry . type === "LineString" || feature . geometry . type === "MultiLineString" ) {
172- image = " <i class='bi bi-signpost me-2 fs-3'>"
176+ image = ` <i class='bi bi-signpost fs-3' ${ iconColorStyle } >`
173177 } else if ( feature . geometry . type === "Polygon" || feature . geometry . type === "MultiPolygon" ) {
174- image = "<span class='feature-details-icon'>< i class='bi bi-bounding-box-circles fs-3'></span>"
178+ image = `< i class='bi bi-bounding-box-circles fs-3' ${ iconColorStyle } >`
175179 } else if ( feature . geometry . type === "Point" ) {
176- image = " <i class='bi bi-record-circle fs-3'>"
180+ image = ` <i class='bi bi-record-circle fs-3' ${ iconColorStyle } ></i>`
177181 }
178182 return image
179183}
0 commit comments