根据经纬度计算地图的缩放级别和中心点

来源:网络 文章列表 2024-04-08 93
本功能适用腾讯地图,百度地图,高德地图设置地图缩放级别和中心点 1.points是经纬度集合 2.centerW是中点的lat 3.centerJ是中点的lng 4.zoom是地图的锁房级别 getCenterPoint(points) { //

本功能适用腾讯地图,百度地图,高德地图设置地图缩放级别和中心点

1.points是经纬度集合

2.centerW是中点的lat

3.centerJ是中点的lng

4.zoom是地图的锁房级别

  1. getCenterPoint(points) {
  2. //通过经纬度获取中心位置和缩放级别
  3. var maxJ = points[0].lng;
  4. var minJ = points[0].lng;
  5. var maxW = points[0].lat;
  6. var minW = points[0].lat;
  7. var res;
  8. for (var i = points.length - 1; i >= 0; i--) {
  9. res = points[i];
  10. if (res.lng > maxJ) maxJ = res.lng;
  11. if (res.lng < minJ) minJ = res.lng;
  12. if (res.lat > maxW) maxW = res.lat;
  13. if (res.lat < minW) minW = res.lat;
  14. }
  15. if (maxJ == minJ && maxW == minW) return [maxJ, maxW, 9];
  16. var diff = maxJ - minJ;
  17. if (diff < maxW - minW) diff = maxW - minW;
  18. diff = parseInt(10000 * diff) / 10000;
  19. var centerJ = minJ * 1000000 + (1000000 * (maxJ - minJ)) / 2;
  20. var centerW = minW * 1000000 + (1000000 * (maxW - minW)) / 2;
  21. var zoom = this.getRoom(diff);
  22. console.log(centerJ / 1000000, centerW / 1000000, zoom);
  23. return [centerJ / 1000000, centerW / 1000000, zoom];
  24. },
  25. getRoom(diff) {
  26. var room = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14);
  27. var diffArr = new Array(360,180,90,45,22,11,5,2.5,1.25, 0.6,0.3,0.15,0.07,0.03,0);
  28. for (var i = 0; i < diffArr.length; i++) {
  29. if (diff - diffArr[i] >= 0) {
  30. return room[i];
  31. }
  32. }
  33. return 14;
  34. },
  35. //使用方法
  36. var center = new tMap.LatLng(
  37. this.getCenterPoint(this.lineList)[1],
  38. this.getCenterPoint(this.lineList)[0]
  39. );
  40. //定义map变量,调用 TMap.Map() 构造函数创建地图
  41. var map = new tMap.Map(document.getElementById("map"), {
  42. center: center, //设置地图中心点坐标
  43. zoom: this.getCenterPoint(this.lineList)[2], //设置地图缩放级别
  44. });

 

腾讯云限量秒杀

1核2G 5M 50元/年 2核4G 8M 74元/年 4核8G 5M 818元/年 CDN流量包 100GB 9元

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:QQ:1292237044
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论