【问题标题】:How do you make a google map keep the zoom and center location on refresh?你如何让谷歌地图保持缩放和中心位置刷新?
【发布时间】:2021-06-26 23:11:12
【问题描述】:

我有这个:

    function initMap() {
      // Create a new map object focused on PA
      map = new google.maps.Map(document.getElementById('Map'), { 
        zoom: 8, 
        center: { lat: 41, lng: -78 },
       });

我希望用户能够放大并切换地图上的数据以显示其他变量,而无需地图重置中心和缩放级别。

【问题讨论】:

    标签: javascript api maps center zoom-sdk


    【解决方案1】:

    您有多种选择。两者都需要使用地图 API 中可用的各种事件来获取您想要存储的任何状态。

    您可以在每次更改时创建一个缩放和居中的对象,并将其字符串化为 JSON 并存储在浏览器 localStorage 中。当页面加载时,您会获取存储的内容(如果有)并将其解析回可以传递给地图初始化的对象

    另一种方法是在发生更改时使用window.history.pushState()URLSearchParams() 修改url 中的查询字符串。然后,当页面加载时,获取 url 中的任何参数以传递给初始化

    【讨论】:

    • 我大致了解概念上该做什么,但我不知道如何实际获取值或保存值。谷歌地图 API 让我困惑了好几个星期。 map.getZoom() 有效,但 map.getCenter() 无效。
    • 在这种情况下,创建一个minimal reproducible example 并在另一个问题中独立处理这些问题。我只回答了这里作为一般问题提出的问题,并不打算写出所有代码来完成它
    • 这根本没有帮助...我不知道如何获取位置值
    猜你喜欢
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    • 2012-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多