有人能够成功地在Windows Store应用程序(C#/XAML)中包含Google Maps视图吗?我们选择了Google Maps,因为Bing Maps许可证的成本较高(尽管Bing Maps有一个原生的Metro控件,这将更容易)。
我能够按照this article的方法,在WebView控件中包含一个html页面。我还可以使用ScriptNotify和window.external.notify与我的C#类进行通信。
然而,捏合缩放手势无法被识别,因为它不会对地图进行缩放。
这是我的WebView。
然而,如果我在IE中打开我的HTML页面(即使使用Visual Studio模拟器中的IE),捏合缩放手势就会出现并且运行顺畅,所以我认为问题出在WebView上。另一方面,如果我将我的WebView导航到这个URL,捏合缩放功能就会起作用,所以这真的让我感到困惑。
我还尝试过:
1)在额外的HTML页面中使用IFrame,但没有改变任何东西。
2)实现自己的JavaScript手势识别器来进行缩放(使用MSGestureChange),但结果远非理想,我感觉自己正在“重新发明一个非常糟糕的轮子”...
有人遇到过这个问题吗?
提前致谢。
我能够按照this article的方法,在WebView控件中包含一个html页面。我还可以使用ScriptNotify和window.external.notify与我的C#类进行通信。
然而,捏合缩放手势无法被识别,因为它不会对地图进行缩放。
这是我的WebView。
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid x:Name="GridOut">
<WebView x:Name="MapWebView" ScrollViewer.HorizontalScrollMode="Disabled" ScrollViewer.VerticalScrollMode="Disabled" ManipulationMode="All" />
</Grid>
</Grid>
和带有地图的HTML页面:
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=10" /> <!-- To get double tap for zoom to work-->
<!– Google Maps API reference –>
<script src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=visualization"></script>
<script type="text/javascript" src="libs/richmarker.js"></script>
<script type="text/javascript" src="CountryInfo.js"></script>
<script type="text/javascript" src="libs/infobox.js"></script>
<!– map references –>
<link href="map.css" rel="stylesheet" />
<script src="map.js"></script>
</head>
<body>
<div id="mapdisplay" />
</body>
</html>
然而,如果我在IE中打开我的HTML页面(即使使用Visual Studio模拟器中的IE),捏合缩放手势就会出现并且运行顺畅,所以我认为问题出在WebView上。另一方面,如果我将我的WebView导航到这个URL,捏合缩放功能就会起作用,所以这真的让我感到困惑。
我还尝试过:
1)在额外的HTML页面中使用IFrame,但没有改变任何东西。
2)实现自己的JavaScript手势识别器来进行缩放(使用MSGestureChange),但结果远非理想,我感觉自己正在“重新发明一个非常糟糕的轮子”...
有人遇到过这个问题吗?
提前致谢。