我想为移动设备创建一个基于html5的网页,该网页显示来自Google地图(或其他地图提供商,但我更喜欢GMaps)的地图,支持多点触控。这可能吗?
我的意思是:如果您打开谷歌地图的Android原生应用程序,您会发现可以捏缩放,用两根手指旋转地图等。但是,如果您在移动平台上查看谷歌地图的html5应用程序,虽然你仍然可以用一根手指平移,但你无法捏缩放等。要放大后者(html5)应用程序,你必须按下提供的“+”和“ - ”按钮。
最后,可能有一些时髦的方法可以用于我的特定应用程序不在html5中嵌入GMaps的常规方式,所以我想简要地分享我的应用程序想法。总体目标是制作一个html5移动应用程序,该应用程序仅在几个缩放级别(例如,4个级别)仅显示有限区域(例如,围绕开发人员选择的位置20公里)。这意味着只需要显示少量有限数量的图块。因此,当应用程序首次加载时,这些磁贴可能会预先打包并存储在本地,以便用户永远不必等待磁贴即时加载。因此,应用程序用户可能永远不需要使用GMaps API,它可能就像一个大图像我只是在内部平移/缩放。事实上,如果这更容易,我们可以使用另一个地图提供者,而不是GMaps。除了在html5文档中嵌入(Google)地图数据的常规方式之外,还有其他一些时髦的方式吗?
谢谢,
答案 0 :(得分:3)
Google Maps API v3了解移动设备上的缩放功能。它不需要使用+和 - 按钮。示例:http://tiny.ucsf.edu/parnassus_map
例外:似乎某些运行Android操作系统的 HTC 硬件在此上下文中无法按预期方式处理缩放。我认为这与忽略网页中的视口设置有关,这些设置告诉浏览器不能处理缩放本身。我没有意识到这个问题的任何解决方法,并且已经使用了一段时间。 我在HTC硬件上遇到过这个问题,比如Evo和Thunderbolt,但其他厂商的硬件没有。
更新: OP在Droid 2上报告问题,所以我猜这不仅仅是HTC硬件。一个不出现问题的设备是运行Honeycomb的Galaxy Tab,因此看起来并非所有Android设备都受到影响。
更多更新的内容:目前,您似乎无法依赖能够在Android浏览器上接收JavaScript中的缩放变焦事件。这是Android问题跟踪器:http://code.google.com/p/android/issues/detail?id=11909