2

我一直在做一个地图项目来显示一家公用事业公司的服务订单,但我在获取我的别针和信息框上的编号时遇到了一些问题。以下是我正在使用的页面的一小部分来演示该问题。
http://www.evocommand.com/junk_delete_me/virtual_earth_testing/VirtualEarthTest.html

打开它后,顶部有一个“Test Pins”链接,它将在屏幕上呈现 5 个图钉。

我认为问题在于事件的顺序。引脚是通过使用map.Find()名为 的函数内的地址查找生成的AddPushpinByAddress()。问题是所有 5 个调用AddPushpinByAddress() 都在 in 开始从最终参数触发回调函数之前触发Map.Find()- 这是实际创建引脚的位置。最终结果是示例中的所有 5 个引脚都使用引脚号、标题和最后渲染的引脚的描述进行渲染。有什么建议么?

4

2 回答 2

0

你完全正确。由于您在写入时使用全局来保存引脚的 ID(和所有其他值),因此您将获得最后一个值。

我会在您的 AddPushpinByAddress 函数中创建一个新的图钉实例,并将该图钉传递给回调以设置属性。如果您确实需要,我有一些类似的代码,但是将它们移出全局变量并使用您可以传递的图钉对象(或创建您自己的对象)将解决这个问题。

于 2010-05-28T15:31:37.847 回答
0

使用本地或全局“var”或多个实例不成功。

我最终放弃并在 javascript 中使用“setTimeout()”来强制延迟并允许虚拟地球在收到下一个图钉上的输入之前找到该位置。我确信有更好的方法,但以进步为名的实用性赢得了完美/准确性。

于 2010-08-24T21:47:04.597 回答