我如何在安卓工作室的谷歌地图中找到经度和纬度范围内的所有地方



我是谷歌地图API之类的新手,我想获得我所在国家某个地区的所有地方(例如餐馆(的列表。我有在经度和纬度之间搜索正方形的想法,但找不到正确的方法,因为我说我对这一切都很陌生,所以请帮助!!

我知道下面的代码返回了我寻找的某个地方的信息,但我分享它只是为了让你知道我对谷歌地图API 有多肤浅

附言:它写在一个片段中,而不是一个活动

Places.initialize(requireContext(), MAPS_API_KEY);
PlacesClient client = Places.createClient(requireContext());
String id = "ChIJ0bQ-oJN9HhURWKlT7Zh0Sxc";
List<Place.Field> list = Arrays.asList(Place.Field.ID, Place.Field.NAME, Place.Field.LAT_LNG, Place.Field.ADDRESS);
FetchPlaceRequest request = FetchPlaceRequest.newInstance(id, list);
client.fetchPlace(request).addOnSuccessListener(fetchPlaceResponse -> {
Place place = fetchPlaceResponse.getPlace();
Log.d("Place", "Place found: " + place);
}).addOnFailureListener(e -> {
Log.d("Place", "No place found: " + e.getMessage());
});

如果需要,可以通过半径找到位置。

在这一行中,您可以找到从当前位置到您的餐厅的距离。

double distance = SphericalUtil.computeDistanceBetween(place1.getPosition(), place2.getPosition());
distance = (int)Math.round(distance);

在下一行中设置半径。

if (distance <= 5) {
//do  something
}

如果你想使用正方形,试着使用多边形。但我不知道如何检测里面的所有餐馆。

相关内容

  • 没有找到相关文章

最新更新