0
A
回答
0
TextMarker不是API的内置类,而是API操作(http://developer.here.com/apiexplorer/examples/public/api-for-js/markers/extending-marker-to-text-marker.html)中的示例通过扩展Marker类来引入此类。看看API浏览器示例的源代码。
一般的想法是,您需要生成一个图形(或图形图像)供标记图标使用。有多种方法可以做到这一点,但创建一个带有文本的SVG标记字符串可能是最简单的方法(如示例代码所示)。
该示例中的代码是否需要一些变量,并用值替换部分SVG模板字符串。
var iconSVG = '<svg width="__WIDTH__" height="__HEIGHT__" xmlns="http://www.w3.org/2000/svg">' +
'<rect x="__X__" y="__Y__" rx="5" ry="5" width="__RECT_WIDTH__" height="__RECT_HEIGHT__" ' +
'style="fill:__BRUSH__;stroke:__STROKE__;stroke-width:__STROKEWIDTH__;"/>' +
'<text x="__OFFSETX__" y="__OFFSETY__" fill="__TEXT_PEN__" style="font-weight:normal; ' +
'font-family:__FONTFAMILY__; font-size:__FONTSIZE__;" textContent="__TEXT__">__TEXT__</text>' +
'</svg>',
从可以产生图形图像的SVG标记字符串:
icon = new nokia.maps.gfx.GraphicsImage(that.svgParser.parseSvg(iconSVG));
而这个图形图像可以被用作标记图标。
marker.set("icon", icon)
要注意的最重要的事情是,你需要弄清楚你的文字(宽度和高度)手动的大小。
您使用的是2.5.x还是3.0?我想2.5.x只是想确保... – echom 2014-11-08 17:54:28
我使用2.5.X – SIGSTP 2014-11-08 18:09:07