计算Android应用中谷歌地图中多边形所覆盖的区域

时间:2012-10-24 20:30:39

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

我有一系列Location / GeoPoint个对象,这些对象在我的Android应用中形成了一个多边形。我想知道是否有办法计算它所涵盖的面积。

到目前为止,我正在考虑设置一个Web服务,当发布坐标列表时,使用JS Google Maps API v3来计算区域。但是可能有一种方法可以轻松地使用我本身不知道的Android的一些功能。

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

如果你想自己做,那么在Polygon中解释了计算任何知道corrdinates的polygn区域的方法。

您可以在Irregular Polygons

主题下的How to Calculate the Area of a Polygon中找到更全面的解释

答案 2 :(得分:0)

万一它可以帮助某人,在这个帖子中有一个非常好的答案: Calculate the area of a polygon drawn on google maps in an Android application

MarianPaź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));