我已将HereMaps JavaScript从2.2.4更新到2.5.3,并且地图已停止在Chrome上运行(版本31.0.1650.57 m)。 Firefox和IE像以前一样工作。
在控制台上我多次看到该消息
Coroutine'nokia.maps.map.render.p2d.Engine#_renderCo'异常base.js异常中止:158 TypeError:无法读取未定义的属性“body”
有没有人暗示可能出现的问题?
感谢。
答案 0 :(得分:1)
如果没有看到您的代码,很难回答您的具体问题,但我能够产生类似的错误,可能会帮助您找到问题。
如果您收到多个错误消息,那么JavaScript库本身可能会定期调用某些内容。从错误的文本中,库可能正在运行Coroutine,它通常用于应用程序中的线程。
我可以产生的错误是在回调中 - 如果我向地图添加叠加层,并故意尝试访问我的代码中不存在的属性,我可以得到:
Coroutine 'nokia.maps.map.render.p2d.Engine#_renderCo' aborted abnormally with exception base.js:158
TypeError: Cannot read property 'bar' of undefined
这是因为我添加了一个拼写错误如下:
我将回调中的foo.something.bar
引用更改为foo.does_not_exist.bar
。所以我猜你回调中的某个地方你在回调中引用foo.something.body
- 例如,它可能在听众中。
另一种可能性是,您在创建地图时直接切换到Display.SATELLITE
- 不再允许这样做:
取自developer.here.com上的新闻Feed:
用2.5.3突破更改
新的渲染引擎需要初始化地图 异步。如果要更改中心,缩放级别或 基本映射类型API现在要求应用程序等待 要被解雇的
"displayready"
事件。此事件仅触发一次。 请参阅开发人员指南(“Beyond the Basic Map Application”部分 “)了解详情。