我计划构建一个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用于搜索兴趣点。
经过进一步研究,我意识到我实际上可以使用LatLngBounds和LatLng
方法为PlacePicker设置setLatLngBounds()
边界。该方法接受东北角和西南角,但我如何确定它们?
我的问题是 - 如何让PlacePicker扫描给定圈内的所有兴趣点?
我想到的一个可能的解决方法是:
1)使用this method获取一组NE和SW点
2)将这些作为参数添加到setLatLngBounds()
方法
3)使用PlacePicker
这是合适的方式吗?或者是否有更短的解决方法?
答案 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");
只需使用类型作为酒店等,半径可能取决于您的需要。