【问题标题】:How to keep the map centered while pinch to zoom like Uber and Lyft如何在像 Uber 和 Lyft 一样捏缩放时保持地图居中
【发布时间】:2016-03-30 09:06:53
【问题描述】:

我希望实现与 Uber 和 Lyft 相同的缩放功能。

当捏缩放时,我想保持地图居中。经过一些研究,这些主题没有帮助,我能够以双击为中心,但不是捏住:

First Second

对于此类功能有任何示例代码或建议吗?

【问题讨论】:

  • 抱歉朋友不能进入uber和lfyt应用的地图界面。如果您可以提供任何视频。那么也许我可以帮助你。
  • 我在我的问题中链接了这些主题,但它并没有真正帮助我。捏不完整
  • @Daniel Nugent-您将帖子报告为重复,您是否尝试过您提供的链接,它不起作用,请让 Stackoverflow 成为人们互相帮助并节省他人时间的好社区
  • @Daniel Nugent,我真的尝试了代码,我也修改了但它不起作用标记仍然放错了位置,但问题是 uber 是如何做到这一点的
  • 我已经在这里回答了。 stackoverflow.com/a/57461453/9273416 非常感谢您的反馈。

标签: android google-maps android-fragments


【解决方案1】:

您必须处理 Google Maps zoom_changedevent 并在触发此事件时将中心设置为原始中心

 map.addListener('zoom_changed', function() {
        map.setCenter(center);
    });

此外,这将阻止用户平移地图然后再次缩放。如果用户平移地图然后对其进行缩放,则地图将被重置为您可能不想要的中心。然而,如果用户不缩放,他/她可以正常平移地图。在某些情况下,您可能需要清除此事件侦听器。

See a codePen here

PS:检查此代码笔时仅使用 http 而不是 https。我花了将近半个小时试图在 JSfiddle 中完成这项工作,但没有成功。

【讨论】:

    猜你喜欢
    • 2015-06-03
    • 2011-12-25
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    相关资源
    最近更新 更多