在一个圆圈内找到感兴趣的地方

时间:2016-02-09 06:31:29

标签: android google-maps google-places-api

我计划构建一个Android应用程序,围绕地图上的某个点绘制一个圆圈,并找到该圆圈内的所有兴趣点(例如酒店)。

我通过

使用Google Maps Android API在我的应用中创建了这个圈子
 GoogleMap map;
 Circle circle = map.addCircle(new CircleOptions()
 .center(new LatLng(MY_LAT, MY_LONG))
 .radius(MY_RADIUS)
 .strokeColor(Color.RED)
 .fillColor(Color.BLUE));

我也知道我可以使用Google Places API找到感兴趣的地方。

据我所知,PlacePicker用于搜索兴趣点。

经过进一步研究,我意识到我实际上可以使用LatLngBoundsLatLng方法为PlacePicker设置setLatLngBounds()边界。该方法接受东北角和西南角,但我如何确定它们?

我的问题是 - 如何让PlacePicker扫描给定圈内的所有兴趣点?

我想到的一个可能的解决方法是:

1)使用this method获取一组NE和SW点

2)将这些作为参数添加到setLatLngBounds()方法

3)使用PlacePicker

这是合适的方式吗?或者是否有更短的解决方法?

1 个答案:

答案 0 :(得分:0)

您可能必须使用

StringBuilder googlePlacesUrl = new StringBuilder("https://maps.googleapis.com/maps/api/place/nearbysearch/json?");
                googlePlacesUrl.append("location=" + latLng.latitude + "," + latLng.longitude);
                googlePlacesUrl.append("&radius=" + 3);
                googlePlacesUrl.append("&types=" + type);
                googlePlacesUrl.append("&sensor=true");
                googlePlacesUrl.append("&key=" + "server key from google console");

只需使用类型作为酒店等,半径可能取决于您的需要。