Javascript 如何在谷歌地图和Ajax中使用分页

Javascript 如何在谷歌地图和Ajax中使用分页,javascript,google-maps,pagination,Javascript,Google Maps,Pagination,我有一个api,其中是分页,因为有很多数据。现在我正在尝试使用谷歌地图,我使用API从数据库中获取lat和lng。我仍然只得到API数据的第一页。我的代码怎么了?我该换什么。请帮忙。我会很高兴见到你的 <script> function initMap(map) { var start_point = new google.maps.LatLng(27.772321, 1.803125); // Creating a new map var map =

我有一个api,其中是分页,因为有很多数据。现在我正在尝试使用谷歌地图,我使用API从数据库中获取lat和lng。我仍然只得到API数据的第一页。我的代码怎么了?我该换什么。请帮忙。我会很高兴见到你的

<script>
  function initMap(map) {
    var start_point = new google.maps.LatLng(27.772321, 1.803125);

    // Creating a new map
    var map = new google.maps.Map(document.getElementById("companies-map"), {
      center: start_point,
      zoom: 2,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    function setMarkerPoints(map) {
      var bounds = new google.maps.LatLngBounds();
      var mc = [];
      var infoWindow = new google.maps.InfoWindow();

      url = '/api/companies/map/',
        $.ajax({
          type: "GET",
          url: url,
          dataType: "json",
          success: function(data, pagination) {
            $.each(data.results, function(marker, data) {
              var latLng = new google.maps.LatLng(data.point.latitude, data.point.longitude);

              bounds.extend(latLng);

              // Creating a marker and putting it on the map
              var marker = new google.maps.Marker({
                position: latLng,
                animation: google.maps.Animation.DROP,
                map: map,

              });

              google.maps.event.addListener(marker, 'click', function() {
                infoWindow.setContent('<a href="' + data.title + '" class="text-primary hover-dark">' + data.name + '</a><br>' + data.name);
                infoWindow.open(map, marker);
              });

              mc.push(marker);
            });

            if (pagination.hasNextPage) {
              pagination.nextPage();
            };

            new MarkerClusterer(map, mc, {
              imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'
            });
          },
          error: function(data) {
            console.log('Please refresh the page and try again');
          }
        });

      //END MARKER DATA

      // end loop through json
    }
    setMarkerPoints(map);
  }
  google.maps.event.addDomListener(window, 'load', renderGoogleMap);
  renderGoogleMap();
</script>
嗨。我有一个api,其中是分页,因为有很多数据。现在我正在尝试使用谷歌地图,我使用API从数据库中获取lat和lng。我仍然只得到API数据的第一页。我的代码怎么了?我该换什么。请帮忙。我会很高兴见到你的

<script>
  function initMap(map) {
    var start_point = new google.maps.LatLng(27.772321, 1.803125);

    // Creating a new map
    var map = new google.maps.Map(document.getElementById("companies-map"), {
      center: start_point,
      zoom: 2,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    function setMarkerPoints(map) {
      var bounds = new google.maps.LatLngBounds();
      var mc = [];
      var infoWindow = new google.maps.InfoWindow();

      url = '/api/companies/map/',
        $.ajax({
          type: "GET",
          url: url,
          dataType: "json",
          success: function(data, pagination) {
            $.each(data.results, function(marker, data) {
              var latLng = new google.maps.LatLng(data.point.latitude, data.point.longitude);

              bounds.extend(latLng);

              // Creating a marker and putting it on the map
              var marker = new google.maps.Marker({
                position: latLng,
                animation: google.maps.Animation.DROP,
                map: map,

              });

              google.maps.event.addListener(marker, 'click', function() {
                infoWindow.setContent('<a href="' + data.title + '" class="text-primary hover-dark">' + data.name + '</a><br>' + data.name);
                infoWindow.open(map, marker);
              });

              mc.push(marker);
            });

            if (pagination.hasNextPage) {
              pagination.nextPage();
            };

            new MarkerClusterer(map, mc, {
              imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'
            });
          },
          error: function(data) {
            console.log('Please refresh the page and try again');
          }
        });

      //END MARKER DATA

      // end loop through json
    }
    setMarkerPoints(map);
  }
  google.maps.event.addDomListener(window, 'load', renderGoogleMap);
  renderGoogleMap();
</script>

函数initMap(map){
var start_point=new google.maps.LatLng(27.772321,1.803125);
//创建新地图
var map=new google.maps.map(document.getElementById(“公司地图”){
中心:起点,
缩放:2,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
函数集合标记点(映射){
var bounds=new google.maps.LatLngBounds();
var mc=[];
var infoWindow=new google.maps.infoWindow();
url='/api/companys/map/',
$.ajax({
键入:“获取”,
url:url,
数据类型:“json”,
成功:函数(数据、分页){
$.each(数据、结果、函数(标记、数据){
var latLng=新的google.maps.latLng(data.point.lation,data.point.longitude);
边界扩展(latLng);
//创建标记并将其放在地图上
var marker=new google.maps.marker({
位置:latLng,
动画:google.maps.animation.DROP,
地图:地图,
});
google.maps.event.addListener(标记'click',函数(){
infoWindow.setContent(“
”+data.name); 信息窗口。打开(地图、标记); }); mc.push(marker); }); if(分页。下一页){ 分页。下一页(); }; 新MarkerClusterer(地图、mc、{ imagePath:'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m' }); }, 错误:函数(数据){ log('请刷新页面并重试'); } }); //结束标记数据 //通过json结束循环 } 设置标记点(地图); } google.maps.event.addDomListener(窗口'load',renderGoogleMap); renderGoogleMap();

非常感谢

您需要创建一个PlaceSearchPagination对象才能访问其他页面。该对象是通过回调函数创建的

查看访问其他结果部分,特别是在注释“//创建地点服务”和“//执行附近搜索”下