谷歌地图api在android studio中查找距离,但不显示地图
我想在android studio中使用google map api来查找两个地方之间的距离,以便进行一些计算,但我不想显示地图或标记,我该怎么做?您可以参考此来查找两个地方之间的距离 但如果不想显示地图或标记,只需将地图片段的谷歌地图api在android studio中查找距离,但不显示地图,android,android-studio,google-maps-api-3,Android,Android Studio,Google Maps Api 3,我想在android studio中使用google map api来查找两个地方之间的距离,以便进行一些计算,但我不想显示地图或标记,我该怎么做?您可以参考此来查找两个地方之间的距离 但如果不想显示地图或标记,只需将地图片段的高度和宽度设置为0dp即可 以下是一个例子: <fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:map="http://schemas.android.com
高度
和宽度
设置为0dp即可
以下是一个例子:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="0dp"
android:layout_height="0dp"
tools:context="com.example.ahmedsamra.mansouratourguideapp.MapsActivity" />
如果你想在不显示谷歌地图的情况下计算两地之间的距离,我认为你必须实现谷歌地图,而不是谷歌地图 我向您展示了从文档中选取的一个示例 请求:
https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Washington,DC&destinations=New+York+City,NY&key=YOUR_API_KEY
JSON响应:
{
"destination_addresses" : [ "New York, NY, USA" ],
"origin_addresses" : [ "Washington, DC, USA" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "225 mi",
"value" : 361715
},
"duration" : {
"text" : "3 hours 49 mins",
"value" : 13725
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
或者使用返回两点之间最短距离的方法disntanceTo()
locationA.setLatitude(aLatA);
locationA.setLongitude(aLnA);
locationB.setLatitude(aLatB;
locationB.setLongitude(aLngB);
distanceBetweenLocations = locationA.distanceTo(locationB)
如果你只想计算地球上两点之间的距离,并且你有纬度和经度的坐标,那么就不需要任何谷歌API的地图或库。这只需要额外的管理费用和维护费用。只需创建如下静态方法:
public static double getDistanceMeters(LatLng pt1, LatLng pt2){
double distance = 0d;
try{
double theta = pt1.longitude - pt2.longitude;
double dist = Math.sin(Math.toRadians(pt1.latitude)) * Math.sin(Math.toRadians(pt2.latitude))
+ Math.cos(Math.toRadians(pt1.latitude)) * Math.cos(Math.toRadians(pt2.latitude)) * Math.cos(Math.toRadians(theta));
dist = Math.acos(dist);
dist = Math.toDegrees(dist);
distance = dist * 60 * 1853.1596;
}
catch (Exception ex){
System.out.println(ex.getMessage());
}
return distance;
}
同样的算法适用于任何平台。只需将其翻译成适当的程序语言。可能与