如何确定经纬度坐标,以便围绕用户位置创建一个1英里半径范围?

6

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

例如:

如果用户的位置为=

Latitude: 44.947 Longitude: -93.098

我该如何确定哪些经纬度坐标集团可以在上述位置周围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();

有人有什么想法吗?

虽然我很高兴人们尝试帮忙,但下面给出的答案并没有回答这个问题。


1
这个链接可以帮助你开始进行一些基本的转换。可能有更好的方法,但是通过一些几何学,你可以找到8个点。 - turbo
所以你想在用户周围1英里的圆圈上创建地理坐标?为什么? - NeplatnyUdaj
是的,你知道怎么做吗?用于API。这是一个要求,我正在尝试找出如何确定这些内容。 - user3346999
这应该可以让你开始了解 http://en.wikipedia.org/wiki/Geographical_distance 但我仍然不理解这个的用例。 - NeplatnyUdaj
这里的最终目标是什么?您想在地图上画一个圆,还是只想知道这8个点的纬度/经度? - NickT
显示剩余2条评论
2个回答

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,请跟随此链接


谢谢您的见解。但我没有在Google地图中使用这些坐标。您知道如何获取经度和纬度的单一对,以创建像上面解释的用户位置周围的半径圆吗? - user3346999
你为什么想要画一个0.6毫米的半径?这似乎不值得! - NickT
抱歉,我不知道如何做到那个。 - Rakesh

0

请注意,我在Android方面没有经验,如果这不适用,请忽略我的建议。

对于Web版本,实现您要寻找的功能最简单的方法是使用绘图API创建一个半径为一英里的圆,以用户位置为中心。然后,您可以使用内置方法查找此对象(不幸的是矩形)的角落边界点,以获得所需的经度和纬度。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接