Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不推荐使用Google Maps API时出错_C#_.net_Winforms_Google Earth Plugin - Fatal编程技术网

C# 不推荐使用Google Maps API时出错

C# 不推荐使用Google Maps API时出错,c#,.net,winforms,google-earth-plugin,C#,.net,Winforms,Google Earth Plugin,我有一个很长时间没有使用的应用程序,客户想激活它。关键是这个应用程序使用了winforms geplugin控件库,该组件停止工作超过一年,因为它引用了一个不推荐使用的Google Earth API 是否有任何类似的组件允许原始功能或至少某种程度的.NET(C#)可操作性 请看这里: 开始: 让我们开始吧 使用Windows窗体在Visual Studio 2005或2008或更高版本中创建新的Windows应用程序 现在,将Web浏览器控件从工具箱拖放到窗体 当您在计算机上安装Googl

我有一个很长时间没有使用的应用程序,客户想激活它。关键是这个应用程序使用了winforms geplugin控件库,该组件停止工作超过一年,因为它引用了一个不推荐使用的Google Earth API

是否有任何类似的组件允许原始功能或至少某种程度的.NET(C#)可操作性


请看这里:

开始:

让我们开始吧

使用Windows窗体在Visual Studio 2005或2008或更高版本中创建新的Windows应用程序

现在,将Web浏览器控件从工具箱拖放到窗体

当您在计算机上安装Google Earth时,您将运行GoogleEarth.exe。在安装Google Earth的计算机上查找此exe,并将GoogleEarth.exe添加到Windows窗体应用程序的bin文件夹中

现在向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>
现在构建并运行应用程序

或参见此处了解其他实现:

谷歌提供了一个JavaScript API,用于在HTML页面中包含与maps.Google.com具有相同功能的地图

在v2版中,您需要注册以获取使用库的API密钥,v3版是可选的,但建议注册,因为API有一个限制,您每天只能生成25000张地图,如果您需要支付更多费用,则需要注册,如果您注册,则可以:

获取每天生成的地图的统计信息 支付额外地图费用(每天超过25000张)
限制密钥的使用以防止在未经授权的网站上使用

请查看以下内容:

开始:

让我们开始吧

使用Windows窗体在Visual Studio 2005或2008或更高版本中创建新的Windows应用程序

现在,将Web浏览器控件从工具箱拖放到窗体

当您在计算机上安装Google Earth时,您将运行GoogleEarth.exe。在安装Google Earth的计算机上查找此exe,并将GoogleEarth.exe添加到Windows窗体应用程序的bin文件夹中

现在向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>
现在构建并运行应用程序

或参见此处了解其他实现:

谷歌提供了一个JavaScript API,用于在HTML页面中包含与maps.Google.com具有相同功能的地图

在v2版中,您需要注册以获取使用库的API密钥,v3版是可选的,但建议注册,因为API有一个限制,您每天只能生成25000张地图,如果您需要支付更多费用,则需要注册,如果您注册,则可以:

获取每天生成的地图的统计信息 支付额外地图费用(每天超过25000张)
限制密钥的使用,以防止在未经授权的网站上使用

经过几次测试,并遵循小组的优秀建议,另一篇帖子的建议显然解决了这个问题,并且肯定是与IE和嵌入WebView类型对象的Javascript中的Google Maps API的兼容性问题


将meta转换为支持HTML的兼容性:

经过几次测试,并遵循小组的优秀建议,另一篇文章的建议显然解决了这个问题,并且肯定是与IE和嵌入WebView类型对象的Javascript中的Google Maps API的兼容性问题


将meta设置为启用HTML的兼容性:

感谢您的帮助,但我有相同的回答:“var error=new error(“模块:'earth'未找到!”);error.toString=function(){return this.message;}throw error;”这就是不推荐使用的API。删除旧的winforms geplugin控件库,并在回答中使用上面的一个示例。我使用Maps API 3.21创建了一个全新的项目,在onions.js出现错误之前,一切正常。显然,这是默认情况下使用Visual Studio的嵌入式API和WebBrowser的兼容性问题。感谢您的帮助,但我有相同的回答:“var error=new error(“Module:'earth'not found!”);error.toString=function(){return this.message;}throw error这就是不推荐使用的API。删除旧的winforms geplugin控件库,并在回答中使用上面的一个示例。我使用Maps API 3.21创建了一个全新的项目,在onions.js出现错误之前,一切正常。显然,这是与默认使用Visual Studio的嵌入式API和WebBrowser的兼容性问题。我认为答案是
。我们仅通过KML在安装了GEPro的PC上使用GE。恐怕旧的API功能无法替代。但愿我错了。您需要什么API函数?我仍然处于检测模式以确定程序的功能,但是API的问题占用了我很多时间。我设法改变了Earth对地图API的使用,甚至做了一些例子,但现在我对onis.js有一个问题,显然是一个与IE相关的主题或使用的WebBrowser。你已经意识到你把Google Earth和Google Maps混在一起了-对吗?谷歌地球安装了桌面软件。谷歌地图是一个基于云的系统。谷歌地球也有一个API…不仅仅是一个桌面应用程序。我想答案是
。我们仅通过KML在安装了GEPro的PC上使用GE。恐怕旧的API功能无法替代。但愿我错了。您需要什么API函数?我仍然处于检测模式以确定程序的功能,但是API的问题占用了我很多时间。我设法改变了Earth对地图API的使用,甚至做了一些例子,但现在我