WebBrowserコントロールを使用してWinFormsアプリケーションを作成しています。このアプリケーションではGoogleEarthプラグインを使用しており、GoogleEarthにいくつかの目印を作成する必要があります。現在の範囲(ズームレベル)によっては、画面上でいくつかの目印が互いに非常に接近している場合があります(地球が十分にズームアウトされている場合)。この場合、画面上の地図が目印で混雑しないように、目印のすべてではなく一部だけを作成したいと思います。
たとえば、目印を作成したいポイントが1000個あるとします。作成する目印のすべてのポイントをループするとき、各ポイントの緯度/経度をWebBrowserコントロールのクライアント座標に変換して、既に作成されている他の目印に非常に近いかどうかを確認できるようにします。 。他の目印に非常に近い場合は、この目印の作成をスキップします。したがって、ユーザーがある程度ズームアウトした場合、実際に作成される目印の数は1000よりはるかに少なくなる可能性があります(たとえば、400)。
これは私が苦労しているところです。lat/longをGoogleEarthプラグインをホストしているWebBrowserコントロールのクライアント座標に変換する方法があるかどうかはわかりません。マウスイベントの場合、クライアント座標を使用できることはわかっていますが、この場合はマウスイベントは含まれていません。
誰かがこれをどのように達成できるか考えていますか?ありがとう!