長期間使用されておらず、クライアントが有効にしたいアプリがあります。重要な点は、このアプリケーションでwinforms-geplugin-control-libraryを使用し、そのコンポーネントが非推奨のGoogle Earth APIを参照しているため、1年以上動作しなくなったことです。Google Maps APIのサポートを終了するとエラーが発生する
元の機能または少なくとも一定レベルの.NET(C#)操作性を可能にするコンポーネントはどれも類似していますか?
長期間使用されておらず、クライアントが有効にしたいアプリがあります。重要な点は、このアプリケーションでwinforms-geplugin-control-libraryを使用し、そのコンポーネントが非推奨のGoogle Earth APIを参照しているため、1年以上動作しなくなったことです。Google Maps APIのサポートを終了するとエラーが発生する
元の機能または少なくとも一定レベルの.NET(C#)操作性を可能にするコンポーネントはどれも類似していますか?
ここを見てみてください。
http://www.c-sharpcorner.com/uploadfile/raj1979/using-google-earth-in-a-windows-forms-application/
をはじめよう:
のは、始めましょう。
Windowsフォームを使用してVisual Studio 2005または2008以降のバージョンで新しいWindowsアプリケーションを作成します。
今すぐWebブラウザコントロールをツールボックスからフォームにドラッグアンドドロップします。
Google Earthをコンピュータにインストールすると、GoogleEarth.exeが実行されます。 Google Earthをインストールしたマシンでこのexeファイルを探し、WindowsフォームアプリケーションのbinフォルダにGoogleEarth.exeを追加します。
Windowsフォームアプリケーションに新しいHTMLページを追加し、埋め込みコードをHTMLページに追加します。
このスクリプトキーはGoogleが提供しています。
<script src="http://www.google.com/jsapi?key=ABQIAAAAOh61kmAMajizdQht- Zz3MhReSrBDmGipqiQxKIYFIGIHpqaJ1BRq6XLUD-i7BPkx7XreIBQJ1MetxQ"> </script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Sample</title>
<script src="http://www.google.com/jsapi?key=ABQIAAAAOh61kmAMajizdQht- Zz3MhReSrBDmGipqiQxKIYFIGIHpqaJ1BRq6XLUD-i7BPkx7XreIBQJ1MetxQ"> </script>
<script type="text/javascript">
var ge;
google.load("earth", "1");
function init() {
google.earth.createInstance('map3d', initCB, failureCB);
}
function initCB(instance) {
ge = instance;
ge.getWindow().setVisibility(true);
ge.getNavigationControl().setVisibility(ge.VISIBILITY_AUTO);
ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, true);
ge.getLayerRoot().enableLayerById(ge.LAYER_ROADS, true);
}
function failureCB(errorCode) {
}
google.setOnLoadCallback(init);
</script>
</head>
<body>
<div id="map3d" style="height: 400px; width: 600px;">
</div>
</body>
</html>
WebブラウザコントロールのURLを、コード内でアプリケーションに追加した.htmページの場所に設定します。フォームのLoadイベントハンドラにこのコードを記述することができます。
this.webBrowser1.Url = new System.Uri(System.Environment.CurrentDirectory + "\\" + "Files\\MyGoogleEarthFile.htm", System.UriKind.Absolute);
アプリケーションをビルドして実行します。
または他の実装のためにここを参照してください:
https://www.codeproject.com/Tips/889136/Csharp-Google-Maps-in-WinForm-with-WebBrowser-and
GoogleはHTMLページにmaps.google.comの同じ機能を持つマップを含むためのJavaScript APIを提供します。
バージョンv2では、ライブラリを使用するためのAPIキーを取得するために登録する必要があります。バージョンv3ではオプションですが、APIには制限があるため推奨されます。さらに必要な場合は、あなたが登録する必要がありますので、支払う必要があり、あなたが登録した場合に次のことができます。
1日あたり(より一日あたり25,000以上)の追加マップの ペイを生成したマップの統計情報を取得し 使用を防ぐために、あなたの鍵の使用を制限許可されていないサイトで
ご協力ありがとうございますが、私は同じ応答があります: "varエラー=新しいエラー("モジュール: '地球'が見つかりません "); error.toString = function(){返信this.message;} スローエラー; "これは廃止予定のAPIです。 – xavendano
古いwinforms-geplugin-control-libraryを削除し、上記の例の1つを回答に使用してください –
Maps API 3.21を使用して全く新しいプロジェクトを作成しましたが、onions.jsでエラーが表示されるまでは問題ありませんでした。これは、デフォルトでVisual Studioを使用する組み込みAPIとWebブラウザーとの互換性の問題です。 – xavendano
最後に、いくつかのテストの後、グループの優れた推奨に続いて別の投稿Google Maps Script error in Onion.jsは明らかにこの問題を解決しましたが、埋め込みWebView型オブジェクトのIEとJavascriptのGoogle Maps APIとの互換性の問題である必要があります。
メタにHTMLを有効にする互換性:
私は答えが「いいえ」だと思います。 GEはGEProがインストールされたPCでKML経由でのみGEを使用します。 AFAIKでは、古いAPI機能を置き換えることはできません。うまくいけば私は間違っている。どんなAPI関数が必要ですか? – rheitzman
私はまだ探偵モードでプログラムの機能を判断していますが、APIの問題は私に多くの時間を費やしています。私はEarth for MapsによってAPIの使用を変更し、さらにいくつかの例を作ることができましたが、今はonis.jsに問題があります。これは明らかにIE関連のトピックまたはWebブラウザです。 – xavendano
あなたはGoogle EarthとGoogle Mapsを混在させていることに気付きましたか? Google Earthはデスクトップソフトウェアにインストールされています。 Google Mapsはクラウドベースのシステムです。 – rheitzman