没有轴承/航向控制准备提供的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
参数旋转地图。
谢谢!我想我现在已经掌握了这个问题的要点。如果我遇到问题,那么我可以问一个更具体的问题。干杯! – Veksi 2014-09-23 19:08:41