在 Google 地球中动态更新数千个地标的最佳方法是什么?
我使用 google Earth v1 javascript API 来“实时”更新数百个移动的对象。我跟踪新的、修改的和删除的实体,以最大限度地减少更新地标时 JavaScript 中的循环,但最大的瓶颈仍然是调用 google Earth api。还有其他人解决过这个问题吗?我已经阅读了一些有关从服务器上的 KML 文件动态流式传输的内容,但我需要访问 javascript 代码中的地标对象更新。
Im using the google earth v1 javascript API to update hundreds of objects moving around in "real-time". I keep track of new, modified, and deleted entities to minimize looping in my javascript while updating placemarks, but still the biggest bottleneck is making the calls to the google earth api. Has anyone else tackled this problem? I've read a bit about dynamically streaming from a KML file on a server, but I need access to the placemark object updates in my javascript code.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Google Maps Javascript API 有 v3,但 Google Earth API 为 v1。从您的问题中不清楚您是否正在使用这两个 API,如果是的话,您如何与 Earth API 进行交互。
如果您提供一些代码来显示您如何进行更新,那么提供有关如何优化的建议会更容易。
也就是说,听起来使用带有增量更新的直接 KML 是适合您的用例的方法,并且您仍然可以使用 getElementByUrl() 方法访问各个地标
There is a v3 of the Google Maps Javascript API, but the Google Earth API is at v1. It's unclear from your question if you are using both API's, and if so, how you are interacting with the Earth API.
If you provide some code showing how you are doing the updates it would be easier to offer advice on how to optimize.
That said it sounds like using straight KML with incremental Updates is the way to go for your use case, and you can still access individual placemarks using the getElementByUrl() method
对这个问题鞠躬。如果您除了向用户显示数据之外不需要对数据进行任何复杂的操作,那么使用动态 KML 文件是实现此目的的一种方法。因为我需要处理网络客户端内的数据,所以我最终使用 json 来传输数据,然后使用 google.earth.executeBatch 执行我的 google 地球 api 调用最有效的方式。
To put a bow on this question. Using dynamic KML files is one way to do this if you dont need to do anything complicated with the data other than display it to the user. Because I need to do work on the data inside the webclient, I ended up using json to transfer the data and then using google.earth.executeBatch to execute my google earth api calls in the most efficient manner.
您是否考虑过使用 Google Fusion Tables?它不使用 GE 插件所以......
Have you looked at using Google Fusion Tables? It doesn't use the GE plug-in so....