HTML5移动应用的多点触控支持?具体是地图缩放/显示。

3
我想制作一个基于HTML5的移动设备网页,显示来自谷歌地图(或其他地图提供商,但我更喜欢GMaps)的地图,并带有多点触控支持。这有可能吗?
我的意思是:如果您打开谷歌地图的Android原生应用程序,您会发现可以使用两个手指捏放缩,旋转地图等。然而,如果您在移动平台上查看谷歌地图的HTML5应用程序,虽然您仍然可以用一个手指四处移动,但不能进行捏放缩等操作。在后者(HTML5)应用程序中缩放,您必须按下提供的“+”和“-”按钮。
最后,也许有一些奇怪的方法适用于我的特定应用程序,不是常规的嵌入GMaps在HTML5中的方式,因此我想简要分享我的应用程序想法。总体目标是制作一个HTML5移动应用程序,只显示一个有限区域(例如,在开发者选择的位置周围20公里),只有几个缩放级别(例如,4级)。这意味着只需要显示少量有限数量的瓷砖。因此,这些瓷砖在首次加载应用程序时可以预先打包并存储在本地,以便用户永远不必等待即时加载瓷砖。因此,应用程序用户可能永远不需要使用GMaps API,它可能只是像我在内部漫游/缩放的大型图像。实际上,如果更容易的话,我们可以使用其他地图提供商而不是GMaps。除了常规的在HTML5文档中嵌入(Google)Maps数据的方式,还有其他奇怪的方法吗?
谢谢,

这似乎是两个不同的问题,所以你最好将它们分成两个单独的问题来获得更好的回答。这样那些有一个问题的答案但没有另一个问题的人就不会因此而不愿意分享他们的知识了。 - Trott
1个回答

3
Google Maps API v3支持移动设备上的捏合缩放。不需要使用“+”和“-”按钮。例如: http://tiny.ucsf.edu/parnassus_map 例外情况:似乎一些运行Android操作系统的HTC硬件在这种情况下无法按预期处理捏合缩放。我认为这与忽略网页中告诉浏览器不要自行处理缩放的视口设置有关。我对这个问题没有任何解决方法,已经忍受了相当长的时间。我在像Evo和Thunderbolt这样的HTC硬件上遇到过这个问题,但在其他制造商的硬件上没有遇到过。
更新:OP报告了Droid 2上的问题,所以我想这不仅仅是HTC硬件的问题。一个不显示该问题的设备是运行Honeycomb的Galaxy Tab,因此似乎并非所有Android设备都受到影响。
更进一步的更新:目前似乎不能指望在Android浏览器中通过JavaScript接收到捏合缩放事件。在Android问题跟踪器中可以看到此项内容: http://code.google.com/p/android/issues/detail?id=11909

嘿,谢谢!这是很棒的信息。不幸的是,你发送的链接在我的Droid 2上无法使用捏合缩放(Froyo,使用内置浏览器、Opera或Firefox -- 我都试过了。实际上,在Opera和Firefox上,你甚至不能用一个手指来平移)。然而,我猜这可能是与HTC硬件类似的问题,但它可能与操作系统和浏览器有关。将在其他平台上进一步研究此问题。 - dnh37
感谢提供额外的信息。这很有用。我会修改我的答案。我能够在运行Honeycomb的Galaxy Tab上对地图进行捏合缩放,所以至少一些Android设备没有出现这个问题。 - Trott

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接