我们有一个遗留的VB6应用程序,直到2014年2月17日才能完美地使用Google maps V3 API加载和显示地图。这是通过创建一个html文件并使用VB6浏览器ocx控件加载它来实现的。现在地图将不会加载,并出现以下错误。 “错误:无法获取显示属性。参数无效。” 使用资源管理器或Chrome打开生成的htm文件没有任何问题。
答案 0 :(得分:5)
今天使用带有Windows窗体webbrowser控件的c#app进入同样的问题
通过更改api调用使地图正常工作 “https://maps.googleapis.com/maps/api/js?v=3.exp” 至 “https://maps.googleapis.com/maps/api/js?v=3.19” >
答案 1 :(得分:2)
将您对API的引用更改为:
<script src="https://maps.googleapis.com/maps/api/js?v=3"></script>
它将修复它,因为这是对发布版本(3.19)的默认引用。
3.20 - 实验不起作用。
答案 2 :(得分:1)
经过更多研究:根据此链接:https://code.google.com/p/gmaps-api-issues/wiki/JavascriptMapsAPIv3Changelog,所有对3.17的调用都将提供3.18。摘录如下:
3.20 2015年2月17日
当前的JavaScript Maps API v3实验版(3.19)将成为发布版本。
版本3.17将被删除。 3.17或任何先前版本的请求现在将提供3.18版本。
版本控制文档位于:https://developers.google.com/maps/documentation/javascript/basics#Versioning
翻转后的可用版本:
实验:3.20
发布:3.19
冻结:3.18
答案 3 :(得分:1)
添加
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" >
如果您仍然可以访问浏览器,那么浏览器显示的网页中的head标签下面的是直接工作的。
答案 4 :(得分:0)
我们在使用嵌入式浏览器的powerbuilder时遇到了同样的问题..
以下是如何修复..使用regedit
goto键在图像底部可见,您将看到键。创建一个reg_dword
并将其命名为您的应用程序(我们的tpdesp.exe
)8000的数据表示使用IE8
(几乎所有客户都拥有)。您可以将此设置为9000或10000,使用谷歌获取此解释。
注意:我们遇到问题的应用是在Windows7 64上运行的32位应用。如果您没有搜索feature_browser_emulation
的注册表并在那里修复它。
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
答案 5 :(得分:0)
它正常工作(WebControl中的Windows Forms C#)
仅添加:v = 3.19
public static string llamadaMapas = "<script type=\"text/javascript\" src=\"https://maps.google.com/maps/api/js?**v=3.19**&sensor=false\"></script>";
答案 6 :(得分:0)
这解决了与GeoSetter类似的问题。 (Map无法正常工作。)我必须在注册表中搜索要添加的feature_browser_emulation键区域,但Geosetter现在可以工作了。 (刚刚添加了密钥并重新启动了程序。) 谢谢。