最近基于MongoDb对LBS查询的支持实现了一个类似共享单车搜索附近的车辆的功能,在类似小程序上截了张图
mongDb 上存储的数据格式如下
实现MongDb 语句
maxDistance : 半径
java 代码实现如下
Document document =new Document();
String lat = (String) parMap.get("lat");
String lng = (String) parMap.get("lng");
Document locDocument =new Document();
Document nearDocument =new Document();
Document geometryDocument =new Document();
geometryDocument.put("type", "Point");
List array =new ArrayList<>(2);
array.add((Double.parseDouble(lng)));
array.add(Double.parseDouble(lat));
geometryDocument.put("coordinates", array);
nearDocument.put("$geometry", geometryDocument);
//十公里范围内
nearDocument.put("$maxDistance", 10000);
locDocument.put("$near", nearDocument);
document.put("loc", locDocument);
//自己封装的放方法可以忽略
List result =mongoService.findlistDocument(document, fieldDocument, MyConstant.MONGO_TERMINALS_COLNAME, 0, 50, null);
若有问题欢迎咨询 @@
网友评论