Javascript 如何使用JSON获取google热图LatLng?

Javascript 如何使用JSON获取google热图LatLng?,javascript,json,google-maps,heatmap,Javascript,Json,Google Maps,Heatmap,我想用Json文件获取谷歌热图 这是我的谷歌热图功能 这是我的LatLng函数,我想改为使用getPoints函数JSON文件 假设您创建了一个名为points.json的文件,该文件如下所示,可在与网页HTML相同的目录中使用 { "points": [ [37.782551, -122.445368], [37.782745, -122.444586], [37.782842, -122.443688], [37.782919, -122.442815]

我想用Json文件获取谷歌热图

这是我的谷歌热图功能

这是我的LatLng函数,我想改为使用getPoints函数JSON文件


假设您创建了一个名为points.json的文件,该文件如下所示,可在与网页HTML相同的目录中使用

{
  "points": [
    [37.782551, -122.445368],
    [37.782745, -122.444586],
    [37.782842, -122.443688],
    [37.782919, -122.442815],
    [37.782992, -122.442112]
  ]
}
然后需要从Web服务器请求JSON文件。如果您可以使用最新的web浏览器,则可以使用:

function requestPoints() {
  fetch('points.json')
    .then(function(response) {
      return response.json();
    })
    .then(initMap);
}
如果您不能使用最新的web浏览器,那么您可以使用类似的方法

当“points.json”的网络请求返回时,将使用json调用initMap。然后您可以像这样使用JSON:

function initMap(json) {

  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 11,
    center: {lat: 37.782551, lng: -122.445368}
  });

  var points = json.points;
  var data = [];
  var i;
  for (i = 0; i < points.length; i++) {
    data[i] = new google.maps.LatLng(points[i][0], points[i][1]);
  }

  var heatmap = new google.maps.visualization.HeatmapLayer({
    data: data,
    map: map
  });

}
如果您遵循Google示例,则需要将脚本请求中的回调参数从callback=initMap更改为callback=requestPoints

function requestPoints() {
  fetch('points.json')
    .then(function(response) {
      return response.json();
    })
    .then(initMap);
}
function initMap(json) {

  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 11,
    center: {lat: 37.782551, lng: -122.445368}
  });

  var points = json.points;
  var data = [];
  var i;
  for (i = 0; i < points.length; i++) {
    data[i] = new google.maps.LatLng(points[i][0], points[i][1]);
  }

  var heatmap = new google.maps.visualization.HeatmapLayer({
    data: data,
    map: map
  });

}