Javascript 在一页上显示多个带有信息气泡的诺基亚地图
我在一个页面上使用多个标记等实现了多个诺基亚地图。为此,我创建了一个包含所需配置和功能的诺基亚地图对象,并对该对象进行了扩展,使每个地图都有一个对象 很好,我得到了每张地图上显示的所有标记。问题是,infobubble组件只能附加到一个地图/显示器 Im使用诺基亚地图api 2.5.4 我如何启动这些映射的一个小js片段:Javascript 在一页上显示多个带有信息气泡的诺基亚地图,javascript,jquery,here-api,Javascript,Jquery,Here Api,我在一个页面上使用多个标记等实现了多个诺基亚地图。为此,我创建了一个包含所需配置和功能的诺基亚地图对象,并对该对象进行了扩展,使每个地图都有一个对象 很好,我得到了每张地图上显示的所有标记。问题是,infobubble组件只能附加到一个地图/显示器 Im使用诺基亚地图api 2.5.4 我如何启动这些映射的一个小js片段: var map1, map2, .., var nokiaMap = { appId : ... authToken : ... infoBubbleContai
var map1, map2, ..,
var nokiaMap = {
appId : ...
authToken : ...
infoBubbleContainer : new nokia.maps.map.component.InfoBubbles(),
...
init : function(){....},
initMap : function() {
var me = this;
this.map = new nokia.maps.map.Display(document.getElementById(this.mapContainerId), {
zoomLevel: zoom,
components: [
new nokia.maps.map.component.Behavior(),
new nokia.maps.map.component.ZoomBar (),
new nokia.maps.map.component.TypeSelector(),
new nokia.maps.map.component.ScaleBar(),
me.infoBubbleContainer
],
center : [this.lat, this.lon] ...
}
//call the maps
map1 = jQuery.extend(true, {}, nokiaMap);
map2 = jQuery.extend(true, {}, nokiaMap); ...
错误消息:
Uncaught Error: IllegalArgument: Error: A component can only be attached to one display!
有人找到了这个问题的解决方案或解决方法吗?简单的方法是将
nokiaMap
更改为返回对象的函数,这样每次都会创建一个新的InfoBubbles,这是什么意思?复制所有代码?我已经在扩展nokiaMaps对象,使其拥有一个map1、map2对象,并使用相同的变量和函数。。那么这不应该已经创建了一个新的infobubbles对象吗?不需要重复代码,只需从Function返回对象我已经有了两个不同的对象?map1.infoBubbleContainer和map2.infoBubbleContainer。你能给我举个例子吗?因为我现在真的听不懂你的意思。var nokiaMap=function(){return{authToken:…infoBubbleContainer:…};})
thenmap1=nokiaMap();map2=诺基亚地图()代码>