有谁知道在两个谷歌标记之间可以找到单独的纬度和经度距离?我可以使用这样的hasrsine方法得到总距离: Find distance between two points on map using Google Map API V2
我怎样才能获得每个价值?
由于
谢
答案 0 :(得分:0)
Marker
类有Position
属性,所以
double latitudeDifferenceInDegrees = marker1.getPosition().latitude - marker2.getPosition().latitude;
double longitudeDifferenceInDegrees = marker1.getPosition().longitude - marker2.getPosition().longitude;
您可以将纬度差转换为以米为单位的距离 - 每个度数等于110.574 kilometers:
double latitudeDifferenceInMeters = latitudeDifferenceInDegrees * 110574;
你不能为经度做同样的事情。在赤道上,经度约为111公里,但在极点附近,它的数量要少得多。如果您只是短距离使用它,我会去
double longitudeDifferenceInMeters = longitudeDifferenceInDegrees * 111320 * Math.cos((marker1.getPosition().latitude + marker2.getPosition().latitude) / 2);
请注意,如果第一个标记位于第二个标记的南边或西边,则两者都可以给出负值。如果您只对正值感兴趣,请应用Math.abs()
。