Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 0.83 KB | None | 0 0
  1. void getCenterLatLong(){
  2.     num sumX = 0.0;
  3.     num sumY = 0.0;
  4.     num sumZ = 0.0;
  5.  
  6.     for (var location in locationList) {
  7.       var lat = degreeToRad(location.lat);
  8.       var lng = degreeToRad(location.long);
  9.  
  10.       sumX += cos(lat) * cos(lng);
  11.       sumY += cos(lat) * sin(lng);
  12.       sumZ += sin(lat);
  13.     }
  14.  
  15.     num avgX = sumX / attractionPassModel.data.attractionsData.length;
  16.     num avgY = sumY / attractionPassModel.data.attractionsData.length;
  17.     num avgZ = sumZ / attractionPassModel.data.attractionsData.length;
  18.  
  19.     var lng = atan2(avgY, avgX);
  20.     var hyp = sqrt(avgX * avgX + avgY * avgY);
  21.     var lat = atan2(avgZ, hyp);
  22.  
  23.     var centerLat = radToDegree(lat);
  24.     var centerLng = radToDegree(lng);
  25. }
  26.  
  27.  
  28. void degreeToRad(degree) {
  29.   return degree * pi / 180;
  30. }
  31.  
  32. void radToDegree(rad) {
  33.   return rad * 180 / pi;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement