如何在谷歌地图API中组织成千上万的数据点?[已关闭]


这个问题被锁定后我已经编辑了。我在论坛上搜索了一下,但只找到了一个过时的解决方案,不适用。我试图弄清楚如何使用谷歌地图API和一个JSON文件(或多个JSON文件,如果需要)来分类和映射大量的数据。我将有100,000多个数据点标记都在美国大陆,并有相应的注释来填充一个InfoWindow。有没有一种方法可以将它们归类为可以切换的图层?我正在尝试构思如何实现这个功能。我对任何建议都很感兴趣,希望这是可行的。在Google Maps API文档中,没有任何内容提供了如何对基于JSON的大型latlong点进行分类的明确答案。

我不知道为什么这个问题被关闭了。对于学习编码的人来说,他们的问题在没有解释的情况下被关闭是非常令人沮丧的。说实话,这也是我一开始不想用这个论坛的原因。

解决方案:

从json文件加载经纬度数据的基本想法是相当直接的。这是通过下面你要做的大部分部分。

var map;

function initMap() {
  map = new google.maps.Map(document.getElementById('address-map'), {
    center: {
      lat: 36.578581,
      lng: -118.291994
    },
    zoom: 12
  });
}

async function loadFile(file) {
  var json_text = await file.text();
  var markers_json = JSON.parse(json_text);
  for (let i = 0; i <= markers_json.results.length; i++) {

    let lat = markers_json.results[i].location.lat;
    let lng = markers_json.results[i].location.lng;
    var latlng = new google.maps.LatLng(lat, lng);
    console.log(lat.toString(), lng.toString());
    var marker = new google.maps.Marker({
      position: latlng,
      map: map
    });
  }
}
<html>
<input type="file" onchange="loadFile(this.files[0])">
<div id="address-map-container" style="width:100%;height:400px;">
  <div style="width: 100%; height: 100%" id="address-map">
  </div>
</div>

</html>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" async defer>
</script>

给TA打赏
共{{data.count}}人
人已打赏
未分类

Appcelerator Studio 无法在 Mac 上检测到有效的 iOS 或 Android SDK。

2022-9-8 14:29:40

未分类

我不能在我的数据库中插入值(java没有显示错误)

2022-9-8 14:29:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索