【发布时间】:2018-10-19 18:42:22
【问题描述】:
我正在尝试创建一个使用动态 fontAwesome 标记的 googleMap
不过,我似乎无法将“Font Awesome 5 Free”设置为要使用的字体。
我可以设置“Fontawsome”,它可以工作,但不是网络字体(它是安装在我的系统中的 .TTF)
var marker0 = createMarker({
position: new google.maps.LatLng(33.808678, -117.918921),
map: map,
icon: {
path: google.maps.SymbolPath.CIRCLE,
fillColor: '#F00',
fillOpacity: 1,
strokeWeight: 0,
scale: 15
},
label: {
fontFamily: "FontAwesome",
fontWeight: '900',
text: eval("'\\u"+'f0ab'+"'"),
color: 'white'
}
}, "<h1>Marker 0</h1><p>This is the home marker.</p>");
});
这是 jsfiddle:https://jsfiddle.net/robsilva/hxt5jcu5/
Google 地图似乎没有将 font-family 属性应用于我创建的标记标签。根据 Google 的文档,语法看起来是正确的,但由于某种原因,所有样式都没有被应用。以下是我们手动将字体系列样式放置在正确元素上的一些前后屏幕...
【问题讨论】:
-
不确定,但有两点。首先,避免 eval() 像瘟疫一样。如果您在代码中甚至有一个位置,JS 将在整个过程中运行得更慢,因为它无法优化不知道将运行什么代码。其次,由于 FA5 具有 SVG 功能,您可能会考虑将其用作图像而不是谷歌图像顶部的标签。
-
感谢您的意见。是的,我知道 eval() 的缺点,但我不知道从 var 呈现该 unicode 的任何其他方式
标签: javascript google-maps-api-3 google-maps-markers font-awesome font-awesome-5