我是谷歌地图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
}
如果你想使用正方形,试着使用多边形。但我不知道如何检测里面的所有餐馆。