我有一种在Google地图上有效的方法,但在传单中不起作用。我在下图中显示返回什么方法:
我想用我的方法改变颜色。现在我有一个默认图标
private getMarkerIcon(marker: OpMarker): any {
if (marker.iconImage) {
if (marker.iconImage.indexOf('data:image/') > -1)
return marker.iconImage
return 'data:image/*;base64,' + marker.iconImage
}
else if (marker.iconURL) {
return marker.iconURL
}
else {
let iconConfig: any = null
if (this.$scope.options.defaultMarkerIconOptions != null) {
iconConfig = _.clone(this.$scope.options.defaultMarkerIconOptions)
let color: string = null
if (marker.fillColor) {
color = marker.fillColor
//TODO: add alpha (opacity)
if (color.charAt(0) === '#') {
color = color.replace('#', '').slice(0, 6)
}
if (color.length > 6) {
color = color.slice(0, 6)
console.warn('Colors in the RGBA model are not supported!')
}
}
if (color != null) {
iconConfig.fillColor = `#${color}`
}
}
return iconConfig
}
}
以及创建新标记的方法
const icon: any = this.getMarkerIcon(marker)
if (icon == null) {
console.warn(StreetMapProvider.LOG_STRING, "No default marker icon options. Using the default leaflet maps one.")
}
let mapMarker: any = new L.marker([marker.coords.latitude, marker.coords.longitude], {iconUrl: icon})
答案 0 :(得分:0)
提供图标类并更改其样式
marker._icon.classList.add("yourclass");