Google Maps Api:渲染后将地图中心设置为不同的坐标[关闭]

问题描述 投票:0回答:2

我想在一段时间间隔后更改谷歌地图的中心,以便它可以专注于整个大陆的某些区域,并有显示餐馆分支机构的标记。我已经成功地用标记渲染了地图。我遇到的问题是更改通过纬度和经度列表循环的中心。我正在尝试做这样的事情。

var lat[];
        var lang[];

            function moveToLocation(){
                var center = new google.maps.LatLng(lat, lng);
                map.panTo(center);
            }

             setInterval(moveToLocation, 3000);  
javascript google-maps google-maps-api-3 web
2个回答
1
投票

来自此相关问题:Google 地图动态缩放不同位置

概念证明小提琴

代码片段:

var map;

function initialize() {
  map = new google.maps.Map(
    document.getElementById("map_canvas"), {
      center: new google.maps.LatLng(37.4419, -122.1419),
      zoom: 8,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

  var places = [
    [52, -1],
    [52, -2],
    [53, -3],
    [53, -5],
    [54, -4],
    [54, -6]
  ];

  var index = 0;
  zoomInterval = setInterval(function() {
    var lat = places[index][0];
    var lng = places[index][1];
    index = (index + 1) % places.length;
    map.setCenter(new google.maps.LatLng(lat, lng));

  }, 5000);


}
google.maps.event.addDomListener(window, "load", initialize);
html,
body,
#map_canvas {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk"></script>
<div id="map_canvas"></div>


0
投票

我认为这应该可行,但尚未测试......

function moveToLocation(){
    map.panTo(map.getCenter());
}

setInterval(moveToLocation, 3000); 
© www.soinside.com 2019 - 2024. All rights reserved.