我正在尝试在WPF中的WebBrowser控件中运行的Google Map上包含scaleControl。

一切正常,除非我尝试启用scaleControl。它显示为白色框。 (见下文)

我正在按如下方式初始化地图:

var myOptions =
        {
            zoom: 2,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            scaleControl: true
        };
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);


如果单击白色矩形,它将更改大小(更改单位时如预期)。矩形的屏幕截图如下。



我相信这个问题可能与我在WPF WebBrowser元素中使用地图的事实有关。正如我在其他地方看到的这个问题一样,那也是在使用WPF。

关于如何正确显示此scaleControl的任何想法?

更新:

根据DormantOden的回答,我设法解决了问题,并使ScaleControl正常工作。

我进入注册表并添加了以下值:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_BROWSER_EMULATION \“我的应用程序名称” .exe



HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_BROWSER_EMULATION \“ MY APP NAME” .exe

我将值设置为0x2AF7,根据DormantOden's link,它导致WebBrowser控件以IE10(而不是IE7)运行。

现在,scaleControl可以正确呈现

最佳答案

我怀疑这是由于WPF WebBrowser元素默认使用旧版本的IE渲染所致。

有关如何指定所用IE版本的信息,请参见here。它可能会解决您的问题。

09-13 06:27