我在Here Maps以及一些示例Here Javascript API Explorer和Here Maps on GitHub上摆弄了一些。
我试图看看除了经度和纬度之外是否还有一种方法可以添加视觉方位属性,并且标记上会出现类似小尖端的东西。这感觉就像许多人想要的东西一样,所以只是为了检查我没有错过任何明显的东西......
答案 0 :(得分:1)
API中没有可用的方位/标题控制 - 您必须创建自己的自定义map component。通常的做法是在地图控件中注入一些HTML作为新的DOM元素。
首先定义您的自定义HtmlControl
,如下所示:
function extend(B, A) {
function I() {}
I.prototype = A.prototype;
B.prototype = new I();
B.prototype.constructor = B;
}
function HtmlControl (html, id) {
nokia.maps.map.component.Component.call(this);
this.init(html, id);
}
extend(HtmlControl,
nokia.maps.map.component.Component);
HtmlControl.prototype.init = function (html, id) {
that = this;
that.id = id
that.set("node", document.createElement("div"));
that.node.innerHTML = html;
};
HtmlControl.prototype.getId = function() {
return "HtmlControl." + this.id;
};
HtmlControl.prototype.attach = function(map) {
map.getUIContainer().appendChild(this.node);
};
HtmlControl.prototype.detach = function(display) {
map.getUIContainer().removeChild(this.node);
};
然后设置map
并添加自定义组件,如下所示:
htmlControl = new HtmlControl(
"<img id='compass' style='left:4em;top:1em;width:100px;height:100px' src='...'/>", "Compass");
map.components.add(htmlControl);
<img>
元素的源文件需要保存指南针图像。由于地图控件基于Normalized Mercator projection
或者查看使用Map Image API并调查ra
参数以旋转地图。