如何计算经度和纬度坐标以创建围绕用户位置1英里半径?

时间:2014-02-24 14:19:55

标签: java android google-maps maps coordinates

如何计算经度和纬度坐标以在用户位置周围创建1英里半径?我不介意它需要多少个坐标,但我想围绕一个位置创建一个圆形半径。

例如:

如果用户的位置=

Latitude: 44.947 Longitude: -93.098

如何确定 8 的经度和纬度坐标组在上述位置周围创建1英里半径。

(上面例子中的8是斜体,因为我不介意它是否小于或大于8)

我该怎么做?

到目前为止

代码:

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();

有没有人有任何想法?

虽然我很高兴人们正在努力帮助,但下面给出的答案并没有回答这个问题。

2 个答案:

答案 0 :(得分:0)

请记住,我在Android方面没有经验,所以如果不适用,请忽略我。

使用网络版,实现您正在寻找的内容的最简单方法是使用绘图API创建一个您正在查找的半径圆(在这种情况下为一英里),以您的用户位置为中心。然后,您可以使用内置方法查找此对象的角点边界(不幸的是矩形),以便为您提供所需的长/拉。

答案 1 :(得分:0)

如果您想在地图上创建一个圆圈,请执行以下操作:

1)获取地图片段的参考:

GoogleMap = MyMap;
MyMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map_id)).getMap();

2)画圆圈:

MyMap.addCircle(new CircleOptions().center(new LatLng(latitude,longitude)).radius(0.00062).fillColor(0x88000000).strokeColor(0x44000000).strokeWidth(2));

1米= 0.000621371英里

如果您不知道如何使用Google Maps API v2,请按照this link

进行操作