【问题标题】:Calculate the area covered by a polygon in a google map in an Android App在Android App中计算谷歌地图中多边形覆盖的面积
【发布时间】:2012-10-14 23:10:35
【问题描述】:

我的 Android 应用中有一系列 Location / GeoPoint 对象构成一个多边形。不知道有没有办法计算它所覆盖的面积。

到目前为止,我正在考虑建立一个网络服务,当发布坐标列表时,它使用 JS Google Maps API v3 来计算面积。但是可能有一种方法可以轻松地使用我不知道的 Android 的某些功能来实现这一点。

提前感谢您的帮助!

【问题讨论】:

  • 这可能会有所帮助:stackoverflow.com/questions/9037083/…
  • 是的,我已经检查过了,但我正在寻找一个特定于 Android 的解决方案(据我所知,它没有实现 Google Maps API v3)
  • 大卫:是的,看看this。你需要this library。抱歉,如果代码包含依赖项和东西,这是很久以前的项目。
  • @fdansv 计算面积的单位是什么?
  • 平方米(如果我没记错的话)

标签: android google-maps google-maps-api-3 android-mapview


【解决方案1】:

【讨论】:

    【解决方案2】:

    如果你想自己做,在Polygon中解释了计算任何已知坐标的多边形面积的方法。

    您可以在How to Calculate the Area of a Polygon主题Irregular Polygons下找到更全面的解释

    【讨论】:

      【解决方案3】:

      以防万一它对某人有所帮助,此线程中有一个很好的答案: Calculate the area of a polygon drawn on google maps in an Android application

      Marian Paździoch 的回答:

      已经有一个library

      import com.google.maps.android.SphericalUtil;
      
      //...
      
      List<LatLng> latLngs = new ArrayList<>();
      latLngs.add(new LatLng(51.893728, -8.491865));
      latLngs.add(new LatLng(51.893550, -8.492479));
      latLngs.add(new LatLng(51.893216, -8.492224));
      latLngs.add(new LatLng(51.893404, -8.491598));
      Log.i(TAG, "computeArea " + SphericalUtil.computeArea(latLngs));
      

      【讨论】:

        猜你喜欢
        • 2012-07-03
        • 2021-09-04
        • 2012-02-20
        • 2015-05-04
        • 1970-01-01
        • 2018-06-26
        • 2013-10-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多