我使用以下代码创建了图钉
var pin = new Microsoft.Maps.Pushpin(data._LatLong, {
icon: 'images/pushpin.png',
text: '1',
typeName: 'pushpinStyle'
});
默认情况下,图钉图标中显示的文本位于图标顶部下方5倍处。我已经更改了图钉图标的高度和宽度,但图钉内的文本格式没有改进。如何设置图钉内文本的格式。
我在谷歌上搜索了很多,但没有得到正确的回复。提前感谢
您正在为Pushpin指定typeName属性。您可能已经知道,指定typeName为pushpinStyle
将导致创建的Pushpin具有pushpinStyle
类。如果您在地图上检查Pushpin生成的html,您将看到Pushpin文本由Pushpin <div>
内绝对定位的子<div>
重新缩放。因此,合乎逻辑的做法是使用css来进一步设置Pushpin文本<div>
的样式。例如,您可以执行以下操作:
.pushpinStyle div{
color: black !important; /*Make Pushpin text black*/
left: 5px !important; /*Since Pushpin text is absolutely positioned, this will cause the text to be 5 pixels from the left instead of 0 pixels */
text-shadow: 1px 0px white, -1px 0px white, 0px -1px white, 0px 1px white; /*Give the text all around white text shadow so it looks nice on browsers that support it*/
font: 12px arial,sans-serif; !important // override default fonts
}
这将导致Pushpin文本<div>
具有上述样式。当然,您可以添加自己的风格来适应您的应用程序。
我实际上在图钉上使用htmlContent
选项:
var pin = new Microsoft.Maps.Pushpin(data._LatLong, {
typeName: 'pushpinStyle',
htmlContent: '<img src="images/pushpin.png" alt=""/>' +
'<span>'+resultNum.toString()+'</span>'
});
这样你就不会有使用的麻烦了!重要的风格,比如李博进的解决方案。。。我注意到这会导致手机出现问题。每次我滚动地图时,我的自定义样式都会被删除,直到地图再次停止移动。这也是一个非常灵活的配置选项。你可以在那里放任何你想要的html。
API参考:http://msdn.microsoft.com/en-us/library/gg427629.aspx