在Android应用程序中计算谷歌地图中多边形覆盖的面积

在Android应用程序中计算谷歌地图中多边形覆盖的面积,android,google-maps,google-maps-api-3,android-mapview,Android,Google Maps,Google Maps Api 3,Android Mapview,在我的Android应用程序中,我有一系列形成多边形的位置/地质点对象。我想知道是否有办法计算它所覆盖的面积 到目前为止,我正在考虑建立一个web服务,当发布坐标列表时,使用JS Google Maps API v3计算面积。但是,也许有一种方法可以很容易地做到这一点,那就是使用我不知道的安卓系统的一些特性 提前感谢您的帮助 如果你想自己做,在中解释了计算任何多边形面积的方法 您可以在主题“不规则多边形”下找到更全面的解释。如果您想自己动手,请在中说明计算任何多边形面积的方法 您可以在主题“不规

在我的Android应用程序中,我有一系列形成多边形的位置/地质点对象。我想知道是否有办法计算它所覆盖的面积

到目前为止,我正在考虑建立一个web服务,当发布坐标列表时,使用JS Google Maps API v3计算面积。但是,也许有一种方法可以很容易地做到这一点,那就是使用我不知道的安卓系统的一些特性


提前感谢您的帮助

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


您可以在主题“不规则多边形”下找到更全面的解释。如果您想自己动手,请在中说明计算任何多边形面积的方法


您可以在主题“不规则多边形”下找到更全面的解释。下面的答案中发布了一种实现这一点的方法:

这基于以下公式:

使用此公式计算plolygon面积的原理:


下面的答案中给出了一个这样做的方法:

这基于以下公式:

使用此公式计算plolygon面积的原理:


为了以防万一,这条线索中有一个很好的答案:

Marian Paździoch的回答是:

已经有了一个解决方案

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

为了以防万一,这条线索中有一个很好的答案:

Marian Paździoch的回答是:

已经有了一个解决方案

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

这可能会有帮助:是的,我已经检查过了,但我正在寻找一个特定于Android的解决方案,据我所知,它没有实现Google Maps API v3。大卫:是的,看看。你会需要的。很抱歉,如果代码包含依赖项和其他内容,这是一个很久以前的项目。@fdansv计算面积的单位是多少?平方米,如果我没记错的话。这可能会有所帮助:是的,我已经检查过了,但我正在寻找一个针对Android的解决方案,据我所知,谷歌地图API v3没有实现大卫:是的,看看。你会需要的。抱歉,如果代码包含依赖项和其他内容,这是一个很久以前的项目。@fdansv计算面积的单位是多少?如果我没记错的话,平方米