gpt4 book ai didi

google-earth-plugin - 获取GE Plugin客户端坐标

转载 作者:行者123 更新时间:2023-12-04 19:57:28 25 4
gpt4 key购买 nike

我正在编写一个带有 WebBrowser 控件的 WinForms 应用程序。我在此应用程序中使用了 Google Earth Plugin,需要在 Google Earth 上创建一些地标。根据当前范围(缩放级别),一些地标在屏幕上可能彼此非常接近(本地球足够缩小时)。在这种情况下,我不想创建所有地标,而只想创建一些地标,以避免屏幕上的 map 因地标而过度拥挤。

例如,假设我有 1000 个要创建地标的点。当我遍历要创建的地标的所有点时,我想将每个点的纬度/经度转换为 WebBrowser 控件的客户端坐标,以便我可以检查它是否非常接近(在屏幕上)已创建的其他地标.如果它非常靠近其他地标,我就跳过这个地标的创建。因此,如果用户缩小到一定程度,实际创建的地标数量可能远小于 1000(例如 400)。

这是我遇到困难的地方。我不知道是否有办法将纬度/经度转换为托管 Google 地球插件的 WebBrowser 控件的客户端坐标。我知道对于鼠标事件,客户端坐标可供我使用,但在这种情况下不涉及鼠标事件。

有人知道如何实现吗?谢谢!

最佳答案

您尝试用来解决问题的方法不正确。但是有几个选项:

按照您当前的方法——您有两个选择:

  1. 您可以要求当前 View 将给定的纬度/经度转换为屏幕 X/Y。

    https://developers.google.com/earth/documentation/reference/interface_g_e_view#a8c39d0324f2350c54fe2de981f1be418

  2. 您可以获取客户端鼠标坐标作为从 GEWindow 类触发的 KML 鼠标事件的一部分:

    https://developers.google.com/earth/documentation/reference/interface_g_e_window-members

    触发的 KMLMouseEvent 包含客户端 X/Y 空间:

    https://developers.google.com/earth/documentation/reference/interface_kml_mouse_event

正确的方法是将 KML 区域标签添加到您的地标,以便地标在用户平移/缩放等时显示/隐藏。

http://www.google.com/earth/outreach/tutorials/region.html

关于google-earth-plugin - 获取GE Plugin客户端坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12302563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com