开发者社区> 问答> 正文

显示所有标记,距离路线5公里

在我的应用程序中,我显示了A点到B点之间的路线。

final PolylineOptions polyOptions = new PolylineOptions(); polyOptions.color(ContextCompat.getColor(mContext, R.color.accent_color)); polyOptions.width(20); polyOptions.addAll(currentRoute.getPoints()); 在currentRoute.getPoints中,我所有的LatLng都用于在地图上绘制路线。我将所有点之间有5公里距离的点提取到一个名为点的ListArray中。

现在,我想沿着这条路线使用数据库中的位置进行填充。我需要显示数据库中路线上或附近(距离路线两边)均处于5公里范围内的所有位置。

为此,我需要进入数据库并过滤记录以查找5公里范围内的所有位置。我不知道如何对location_latitude和location_longitude实施WHERE请求,以获取距参考位置5公里范围内的所有记录。

我当前的SQL是:

query = "SELECT location_id, location_name, " + "location_address, location_image, " + "location_latitude, location_longitude, " + "c.category_marker, l.category_id " + "FROM tbl_categories c, tbl_locations l " + "WHERE l.category_id " + " = " + categ + " AND l.category_id = c.category_id AND " + "location_county " + " = "" + county + """; 有什么建议如何更快地过滤我的数据库(SQL查询)以查找路线附近的所有位置?

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 11:46:28 520 0
1 条回答
写回答
取消 提交回答
  • 我去了这样:

    where_query = new StringBuilder(); for (i = 0; i <= points.size()-1 ; i ++) { if (i == 0) { where_query.append(" AND ((location_latitude between ").append(points.get(i).latitude - 0.1).append(" AND ").append(points.get(i).latitude + 0.1).append(" AND location_longitude between ").append(points.get(i).longitude - 0.1).append(" AND ").append(points.get(i).longitude + 0.1).append(")"); } else { if (i < points.size() - 1) { where_query.append(" OR (location_latitude between ").append(points.get(i).latitude - 0.1).append(" AND ").append(points.get(i).latitude + 0.1).append(" AND location_longitude between ").append(points.get(i).longitude - 0.1).append(" AND ").append(points.get(i).longitude + 0.1).append(")"); } else { where_query.append(" OR (location_latitude between ").append(points.get(i).latitude - 0.1).append(" AND ").append(points.get(i).latitude + 0.1).append(" AND location_longitude between ").append(points.get(i).longitude - 0.1).append(" AND ").append(points.get(i).longitude + 0.1).append("))"); } } } 等待建议!

    2019-11-18 11:46:37
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载