繁体   English   中英

如何在 Android Studio 中实现对 Google map 有限位置中包含的地点的搜索

[英]How to implement the search for places included in a limited location on Google map in Android Studio

我将坐标存储在 Firebase 数据库中,从那里我得到所有这些坐标,我想制作它,以便我可以找出我的圆圈所包围的区域中包含多少坐标。问题:我如何实现这个蓝色圆圈的边界? (圆圈在图像中)。

这是图片:[谷歌地图][1]

这是我从 Firebase 获取所有坐标的代码:

if (model.getPostId() != null) {
           if(model.getLat() != 0 && model.getLon() != 0){
                 Toast.makeText(getActivity(), "Lat = " + model.getLat() + "Lon = " + model.getLon(),Toast.LENGTH_SHORT).show();
           }
}

请帮助我,我一直在寻找有关如何执行此操作的信息 5 天:但我还没有找到它:(提前谢谢您!

[1]: https://i.stack.imgur.com/LeY8a.jpg![在此输入图片描述]

这是另一个例子:( https://i.stack.imgur.com/zyoan.jpg )![在此处输入图像描述]

这是另一个例子:( https://i.stack.imgur.com/RHw7L.jpg

找出圆的中心坐标(,)和半径()。 然后得到你的 firebase 坐标 (,) 到圆心的距离。 =√((-)2+(-)2)。 如果 <,点 (,) 在圆内,如果 = 在圆上,如果 > 在圆外。

因此,如果您像这样添加圆圈:

Circle circle = map.addCircle(new CircleOptions()
 .center(new LatLng(xc, yc))
 .radius(r)
 .strokeColor(Color.RED)
 .fillColor(Color.BLUE));

然后你应该有中心坐标和半径来使用这个公式。

double d = Math.sqrt(Math.pow((xp-xc),2)+Math.pow((yp-yc),2));

if(d<r || d==r){
   //your logic in here
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM