Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android中获取两台lat lng之间的公路距离_Java_Android_Distance_Google Directions Api - Fatal编程技术网

Java 在android中获取两台lat lng之间的公路距离

Java 在android中获取两台lat lng之间的公路距离,java,android,distance,google-directions-api,Java,Android,Distance,Google Directions Api,我正在创建一个血库应用程序,在该应用程序中,我在地图上显示用户、他的当前位置和他附近的不同捐献者。当用户点击“血液请求”按钮时,我会向他显示一个在他附近可用的不同献血者的列表。现在在捐赠者名单上,我想显示捐赠者与用户当前位置的距离。现在我得到的直线距离总是比实际距离少56公里。为此,我正在这样做: donarLat = profiles.getLatitude(); donarLong = profiles.getLongitude();

我正在创建一个血库应用程序,在该应用程序中,我在地图上显示用户、他的当前位置和他附近的不同捐献者。当用户点击“血液请求”按钮时,我会向他显示一个在他附近可用的不同献血者的列表。现在在捐赠者名单上,我想显示捐赠者与用户当前位置的距离。现在我得到的直线距离总是比实际距离少56公里。为此,我正在这样做:

donarLat = profiles.getLatitude();
                donarLong = profiles.getLongitude();
                String distance = "";
                if (currentLat != null && currentLong != null && donarLat != null && donarLong != null) {

                    origin = new LatLng(currentLat, currentLong);
                    dest = new LatLng(donarLat, donarLong);
                    float[] result = new float[1];
//                    Location.distanceBetween(currentLat, currentLong,donarLat, donarLong, result);
                    distance = String.valueOf(SphericalUtil.computeDistanceBetween(origin,dest));
                    System.out.println("d9" + profiles.getName()+ " : " + distance);
我也有距离使用位置,因为你可以看到代码中的注释行,但它都给出了一行一行的位置,但我想通过道路获得的位置,我已经在StackOverflow上看到了很多答案,这是至少6年前回答过的,也尝试过,但有时它会崩溃应用程序或有时它什么都不做。我假设对于路旁的位置,我必须使用google direction API,但我不知道如何使用它。我曾在postman中尝试过该API,但首先,它在启用direction API时给了我一个错误,之后它要求我启用计费方法。我附上邮递员的照片。如果有人告诉我如何正确地使用API来获得准确的公路距离,我会非常感激。
谷歌API现在不是免费的

有些原料药在一段时间内是免费的,但在试用期后会收取费用。 他们需要一个API密钥和计费信息才能使用试用版

在您的情况下,您必须确保您的API密钥无效


使用账单信息表单创建API密钥,并确保您可以在试用期内使用它。如果不是,你可能会换衣服

您必须为您的应用程序启用计费:,这是它似乎崩溃的原因之一。启用计费,然后让我们知道您是否仍然需要帮助。但是我看到的教程他们没有这样做,也没有要求这样做,我不想这样做,应该有一些方法可以免费使用它进行测试或类似的东西。那么教程可能已经过时了。不管怎样,如果你想从谷歌获得服务,你必须启用计费,并可能注册你的应用程序以生成API密钥。这就是我所说的,如果现在我们想要获得API密钥,我们必须为此注册计费方法,但我已经为我的项目6到7个月前的2个月生成了API密钥,我想是的,我正在使用这些密钥,它们工作得非常好。所以我考虑到这些API密钥,可能会有一种方法,我可以将其用于试用版,或者获得一些免费的测试配额。使用其他项目的API密钥是不好的做法,通常API密钥与项目的比例应该是1:1。用谷歌创建一个新项目,并为这个血库应用程序注册,生成它的密钥,看看有什么不同。可能要加粗,现在不是免费的