有谁写过Java附近的功能

要求实现附近的一些场景,如医院,酒店,等
用Java如何实现?本人毫无思路,有谁写过吗?用什么技术?

可以使用 百度地图、或者是高德地图的Web端的API实现

这需要对接,地图平台的API,比如百度地图,高德地图,腾讯地图,里面都提供的有这些功能API,

就是找附近的门店商家呗.去看看地图类api有没有,其实这种功能大众点评之类的应该有,毕竟app端有附近酒店xx等筛选条件,去找官方api.

这种直接用百度或者高德的API

redis有个GEO 的功能

这个需要结合第三方插件或源码来结合构成,单靠java肯定不行

对于这个问题,你可以选择用高德或者百度地图API,通过http协议可以获取各个地方的酒店数!谢谢,望采纳!

Elasticsearch高级之-位置坐标实现附近的人搜索
https://blog.csdn.net/m0_67155975/article/details/123608025

在一家酒店行业公司待过, 就是用百度地图提供的sdk去搞的 根据坐标然后查询范围内的酒店名称

首先,你要做的是电脑定位还是手机定位?
电脑定位可以通过IP地址取得大致位置,但是不很准确。
手机定位,可以直接调用系统GPS取得位置,根据经纬度结合地图接口,实现你要的功能。国内的百度地图、高德地图都很不错。

看看我写的LBS学习笔记,需要用到高德地图API
https://blog.csdn.net/qq_36624086/category_11622160.html

我都是用高德地图做的

通常提供当前经纬度查询,也可通过行政区模糊搜索。
我有使用过此功能,参考地图的 POI 搜索相关接口说明文档:

实现附近场景?地图展示?


public class Hotel {
    private Room[][] rooms;
    public Hotel(){
        rooms=new Room[3][20];
        for(int i=0;i<rooms.length;i++){
            for(int j=0;j<rooms[i].length;j++){
                if(i==0){
                    rooms[i][j]=new Room((i+1)*100+j+1,"经济型",true);
                }
                if(i==1){
                    rooms[i][j]=new Room((i+1)*100+j+1,"舒适型",true);
                }
                if(i==2){
                    rooms[i][j]=new Room((i+1)*100+j+1,"豪华型",true);
                }
            }
        }
    }
    public void order(int roomnum){
        Room room=rooms[roomnum/100-1][roomnum%100-1];
        if(room.isFlag()==true){
        room.setFlag(false);
        System.out.println("订房成功");
        }
        else{
            System.out.println("该房已有人入住");
        }
    }
    public void exit(int roomnum){
        Room room=rooms[roomnum/100-1][roomnum%100-1];
        if(room.isFlag()==false){
        room.setFlag(true);
        System.out.println("退房成功");
        }
        else{
            System.out.println("该房为空,不能再退房");

        }
    }
    public void print(){
        for(int i=0;i<rooms.length;i++){
            for(int j=0;j<rooms[i].length;j++){
                Room room=rooms[i][j];
                System.out.print(room);
            }
            System.out.println();    
        }
    }
    public void searchnull(){
        for(int i=0;i<rooms.length;i++){
            for(int j=0;j<rooms[i].length;j++){
                Room room=rooms[i][j];
                if(room.isFlag()==true){
                    System.out.print(room.getNum()+" ");        
                }
            }
        }
        
    }
}

public class Room extends Object{
    private int num;
    private boolean flag;
    private String type;
    public Room(){
        
    }
    public  Room(int num,String type,boolean flag){
        this.num=num;
        this.flag=flag;
        this.type=type;
    }
    public int getNum() {
        return num;
    }
    public void setNum(int num) {
        this.num = num;
    }
    public boolean isFlag() {
        return flag;
    }
    public void setFlag(boolean flag) {
        this.flag = flag;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String toString(){
        return "["+num+","+type+","+(flag ?"空闲":"占用")+"]";
    }
    public boolean equals(Object obj){
        if(obj==null||obj instanceof Room) return false;
        if(this==obj) return true;
        Room room=(Room)obj;
        return this.num==room.getNum();
        
    }

}

测试程序

import java.util.Scanner;

 

public class Testhotel {
    public static void main(String[] args) {
        Hotel hotel=new Hotel();
        System.out.println("欢迎使用本酒店管理系统,请输入想要的操作");
        while(true){
            System.out.print("1.查询房间信息 2.订房 3.退房 4.查询空房 5.退出本系统");
            Scanner key=new Scanner(System.in);
            int i=key.nextInt();
            if(i==1){
                hotel.print();
            }
            else if(i==2){
                System.out.println("输入房间号");
                int no=key.nextInt();
                hotel.order(no);
            }
            else if(i==3){
                System.out.println("输入房间号");
                int no=key.nextInt();
                hotel.exit(no);
            }
            else if(i==4){
                hotel.searchnull();
                System.out.println("查询成功");
            }
            else if (i==5){
                System.out.println("谢谢使用本系统");
                return;
            }

            else{
                System.out.println("输入有误");
            }

        }
        }
    }

 

参考如下代码:
java实现附近站点的功能:https://blog.csdn.net/weixin_45667896/article/details/108600034

附近的功能可以使用redis的geo,但是相关的建筑物和店铺需要调用百度地图或者腾讯地图相关接口,是一个很简单的小功能,如果是自己做附近推荐就需要考虑将商铺的经纬度录入到数据库中

Android地图SDK简介 ,

img

https://lbs.amap.com/api/android-sdk/summary/
看看对你有帮助麽

有图吗

学习学习