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
Android 使用google places api获取附近位置的距离过滤_Android_Google Maps_Google Places Api_Distance - Fatal编程技术网

Android 使用google places api获取附近位置的距离过滤

Android 使用google places api获取附近位置的距离过滤,android,google-maps,google-places-api,distance,Android,Google Maps,Google Places Api,Distance,嗨,我正在开发一个小的android应用程序,在这个应用程序中,我使用GooglePlacesAPI显示附近的地方。我尝试了以下请求: https://maps.googleapis.com/maps/api/place/nearbysearch/json?rankBy=distance&radius=5000&location=19.107991%2C73.001277&key=API_KEY_VAL&type=school https://maps.goo

嗨,我正在开发一个小的android应用程序,在这个应用程序中,我使用GooglePlacesAPI显示附近的地方。我尝试了以下请求:

 https://maps.googleapis.com/maps/api/place/nearbysearch/json?rankBy=distance&radius=5000&location=19.107991%2C73.001277&key=API_KEY_VAL&type=school
https://maps.googleapis.com/maps/api/place/nearbysearch/json?rankby=distance&location=19.107991%2C73.001277&key=API_KEY_VAL&type=school
所以上面的请求返回了附近的学校,但这些学校并不是按距离排序的。我尝试了另一个请求:

 https://maps.googleapis.com/maps/api/place/nearbysearch/json?rankBy=distance&radius=5000&location=19.107991%2C73.001277&key=API_KEY_VAL&type=school
https://maps.googleapis.com/maps/api/place/nearbysearch/json?rankby=distance&location=19.107991%2C73.001277&key=API_KEY_VAL&type=school
上面的请求给出了距离排序结果,但在这种情况下我不能使用半径参数

同时,我在这两方面都面临一些挑战。在第一个请求中,它返回我5公里范围内的一些学校。在第二个请求中,它返回我附近的学校。如果我检查这两个结果,则请求中不存在附近的一些学校,其半径为param


我的预期输出需要在5公里半径范围内的学校附近进行排序。我在上面的请求中做错了什么?我需要一些帮助。谢谢。

有关rankby和radius参数的文档非常清楚:

半径-定义返回放置结果的距离(以米为单位)。最大允许半径为50 1000米。请注意,如果指定了以下可选参数中描述的rankby=距离,则不得包括半径

rankby-指定结果的列出顺序。请注意,如果指定了上述所需参数下所述的半径,则不得包括rankby

因此,无法将半径参数与rankby=距离结合使用

示例中的第一个请求忽略了rankBy,它也是区分大小写的,因此您在5公里半径范围内获得了显著的结果。在这种情况下,不太显著但相近的结果可能会被忽略

解决方法可能是按距离排序得到结果,并过滤掉位置和位置坐标之间的距离大于5000米的所有位置。

可能重复的位置