如何在页面刷新后保持缩放选定标记?

时间:2017-06-01 13:57:37

标签: javascript jquery google-maps google-maps-api-3

我正在构建一个使用Google地图的跟踪应用程序,因此用户可以点击多个标记。该页面最终每15分钟左右刷新一次,以跟上最新的跟踪数据。但是我想让用户在页面刷新后仍然坚持使用所选标​​记,因此如果需要,他们可以跟随选定的车辆(标记代表)。

我已尝试使用本地存储来实现此目的。我可以把lat和long放到存储器中没有问题,但是当我来解决它时,我发现经度已经出现了太多的小数位,所以API不会识别位置。 / p>

要在刷新后转到标记我的代码是这样的:

var centre = {lat: 53.806590, lng: -1.548437};
var centreRefresh = localStorage.getItem("markerPos");
// Draw the map
var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 6,
    center: centre
});
if (centreRefresh != null && $("#zoomRefresh").is(':checked')) {
    map.setZoom(8);
    map.setCenter(centreRefresh);
}

为了填补本地存储空间,我有这个:

// Add Info Window to Marker
marker.addListener('click', function() {
  infowindow.open(map, marker);
  if ($("#zoomRefresh").is(':checked')) {
    markerPos = marker.getPosition();
    localStorage.setItem("markerPos", markerPos);
  }
  map.setZoom(8);
  map.setCenter(marker.getPosition());
});

控制台中的optput在本地存储中设置为"(55.823772, -2.8525829999999814)",错误消息为InvalidValueError: setCenter: not a LatLng or LatLngLiteral: not an Object是否有更好的方法来执行此操作,因为此方法似乎不是工作正常吗?

0 个答案:

没有答案