首页 / 浏览问题 / 移动GIS / 问题详情
如何判断一个点是否在圆内
13EXP 2022年04月28日
使用产品:imbile for android 10i

问题描述:如何判断地图上的一个坐标是否在画的圆内

1个回答

您好,根据您的描述您可以使用Geometrist.hasIntersection,将需要的坐标给到一个点并添加到图层上,判断圆与点之间是否相交。

希望可以帮助到您。
3,355EXP 2022年04月28日
显示参数不正确,我用的是Geometrist.hasIntersection(GeoCircle(centerpoint, radius), GeoPoint(point2D))
请问发生的是运行时错误吗
是的

04-28 17:25:22.352 27305-27328/com.bqvision.cccs.ccct E/PRETTY_LOGGER: │ 04-28 17:25:21.852 E/ACRA    (26771): ACRA caught a IllegalArgumentException for com.bqvision.cccs.ccct
04-28 17:25:22.352 27305-27328/com.bqvision.cccs.ccct E/PRETTY_LOGGER: │ 04-28 17:25:21.852 E/ACRA    (26771): java.lang.IllegalArgumentException: geometrySearch
04-28 17:25:22.352 27305-27328/com.bqvision.cccs.ccct E/PRETTY_LOGGER: │ 04-28 17:25:21.852 E/ACRA    (26771): 参数的类型不正确
04-28 17:25:22.352 27305-27328/com.bqvision.cccs.ccct E/PRETTY_LOGGER: │ 04-28 17:25:21.852 E/ACRA    (26771):     at com.supermap.data.Geometrist.hasIntersection(Geometrist.java:157)
您好,可能是您没有将圆绘制出来,因为Geometrist.hasIntersection要求参数至少有一个面。
但是,为什么这个多边形的就没有报错呢
Geometrist.canContain(GeoRegion(mPoint2Ds), GeoPoint(point2d)
因为这个多边形被识别到了,而之前那个圆只有圆点被识别到了
您好,可是这个圆我已经画在地图上了,怎么样才能让它识别到呢
请问您是在跟踪图层上画的还是在普通图层上画的呢
这个多边形和圆都是DynamicView实现的

您好,您在绘制圆之后再调用GeoCircle.convertToRegion(int segmentCount)其中segmentCount表示的是等分圆的段数,

就像这样

GeoCircle circle = new GeoCircle(point2D,100);
GeoRegion geoRegion = circle.convertToRegion(100);

希望可以帮助到您。

好的谢谢,另外我想问一下这个等分100是什么意思呢
就是用一百段线段来组成这个圆,这样一个”一百边形“看起来就像圆一样了
...