You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Maps API加载时无法从本地存储恢复地图中心位置求助

问题解决:Google Maps 无法加载存储的经纬度定位

问题根源

你现在的代码里,loadUserZoom传给setCenter()的是普通JSON对象,但Google Maps JS API的setCenter()必须接收**google.maps.LatLng实例**,不是简单的{lat: x, lng: y}键值对,这就是定位失效的核心问题。

修复代码

修改后的loadUserZoom函数

function loadUserZoom() {
  if (localStorage.getItem( 'zoom' )) {
    let zoom = parseInt(localStorage.getItem( 'zoom' ));
    let latLngData = JSON.parse(localStorage.getItem( 'latLng' ));
    // 把普通对象转成Google Maps要求的LatLng实例
    let mapCenter = new google.maps.LatLng(latLngData.lat, latLngData.lng);
    
    jQuery.goMap.map.setCenter(mapCenter);
    jQuery.goMap.map.setZoom(zoom);
  }
}

额外说明

  • 建议先调用setCenter()再设置缩放,确保地图先定位到目标点再应用保存的缩放级别,逻辑更顺畅。
  • 之前用的fitBounds()会自动计算缩放级别来适配边界,会直接覆盖你存储的zoom值,所以不适合用来恢复用户自定义的视图状态。

内容的提问来源于stack exchange,提问作者Mike Hermary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 10:35:36