2014-09-21 57 views
1

我用Here Maps以及一些例子Here Javascript API ExplorerHere Maps on GitHub摆弄了一下。有没有办法给Here Maps标记添加方位/标题视觉?

我试着看看是否已经有一种方法来添加除经度和纬度之外的视觉方位属性,并且在标记中出现一些小小的提示。这感觉像很多人想要的东西,所以只是为了检查我没有漏掉任何明显的东西...

  • 有没有办法给标记添加视觉方位信息?
    • 如果没有,有谁知道是否有一个使用自定义标记来实现这个我只是找不到的例子?

回答

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参数旋转地图。

+0

谢谢!我想我现在已经掌握了这个问题的要点。如果我遇到问题,那么我可以问一个更具体的问题。干杯! – Veksi 2014-09-23 19:08:41

相关问题