app中使用高德地图的LBS实现本地和异地搜索学校功能

问题遇到的现象和发生背景

使用高德地图LBS功能实现上述功能的目的:
1、方便用户快速点选自己的学校名称。
2、同时也是为了避免用户输入不规范导致同一个学校会被不同用户录入各种各样的名字。
3、还要支持出差在外的教师还可以使用,因此该功能要既要实现本地搜索功能,还是支持异地搜索自己所在省市县区内的中小学。

问题相关代码,请勿粘贴截图

暂无,计划使用JAVA开发后端
app的前端就是一个搜索框和一个列表,如下图:

img

我的解答思路和尝试过的方法

我想通过前端的搜索框和手机所在的经纬度信息来获取目标地区的中小学学校名称和学校地址信息

我想要达到的结果

1、当搜索框为空时,则默认搜索手机所在地的学校信息
2、当搜索框只有C参数,也就是学校名字关键词时,则搜索手机所在地包含关键词的学校信息
3、当搜索框输入的是B[空格]C,则B表示本省某县或者本市某区的名称,C代表学校名字关键词,则此时搜索目标县或目标本市某区包含关键词的学校信息
4、当搜索框输入的是A[空格]B[空格]C,则A表示目标省,B表示目标省的目标县或目标城市的名称,C代表学校名字关键词,则此时搜索目标省某县或目标省某市某区包含关键词的学校信息
5、感觉难点还有一个,就是用户在搜索框内的输入规范性问题,感觉这一点很难对用户进行约束。

建议做成根据用户输入实时检索下拉框实时出结果,这样用户使用比较方便。
同时实现本地和异地搜索的功能:
1、你已经有了学校的省市县信息,可以在搜索中自动添加搞得检索到经纬度所属的本地省市县的关键字到搜索关键字中,这样可以优先搜索到本地学校;
2、如果用户输入了异地省市县名称,一并加入到搜索关键字,优先命中异地学校,这样可以优先相应用户输入的命中率;
3、不建议通过A B C输入省市县的写死的格式,用户不会很接受这种固定的输入方式,还是灵活些实现比较好。
4、这里其实不存在规范问题,因为用户只有选择检索结果的权力,没有输入结果的权力,选择的都是你下拉框列出的,肯定是规范的;
有帮助请采纳,谢谢!

做过百度的和天地图的校园导航app,我估计原理应该差不多

  1. 首先下载并配置好高德的地图API(必须要有定位SDK)
  2. 然后写定位代码在定义回调函数是可以获取到高德定位获取的坐标值
  3. 如果你要用在自己的地图上那还牵扯到坐标偏移问题,高德定位获取的坐标值和你自己地图的坐标系肯定不一致。每个地图的偏移值是不一样且保密的,这个只能用别的办法
    由于不清楚题主的问题究竟在哪个方面,只写了大概的思路,详细的问题可以再追问

高德地图SDK中就有搜索的接口 可以仔细看一下文档:
https://lbs.amap.com/api/android-sdk/guide/map-data/poi

img


按照你的需求可以cityCode传空字符串就会搜索全国,而搜索得到的结果里面会有省市区的信息,你都给显示在列表里,用户就可以自己选择了。另外搜索框联想也有接口:

img


一般这种成熟的SDK能想到的功能都已经预留接口了,仔细看开发文档、API文档都可以找到解决方案。。

省市这种直接做选择框让用户选地区不就完了吗

你让用户直接选择而不是输入不就规范且好做吗😅

建议使用高德sdk提供的api进行开发。 有些信息比较敏感,让后端进行维护也是工作量,而且还不能保证最新。研究sdk提供的api,应该可以满足说的场景

按照你的这种设计,让用户使用“省市+学校名”的输入方式,本来就对用户体验不友好,如果我是用户,查找自己需要的学校,肯定是优先是输入学校名称,而不是去输入省市区,建议你优化成:
1、用户输入学校的关键字之后,可以做一个实时监听用户的输入内容,然后利用SDK的API实现一个模糊匹配,把符合名称的所有学校按照列表的方式展示出来,标注出学校的完整名称、所在的省份、所属的市区,让用户去选择自己需要的学校,以这种精确的方式去匹配,准确率更高,效率也更好;
2、用户输入之前,让用户优先确定自己学校所在的省市区,可以做成一个省市下拉选择菜单的样式,然后再让用户输入学校的关键词,带入SDK的API去匹配,可以比较精确的找到学校,如果匹配结果有多个,可以做成列表备选;
3、你也可以根据用户输入的内容关键词,利用SDK的API帮助用户适当补全输入框用户输入的学校名称,这样也可以保证更加精确。

1、首先,楼主得理解什么是LBS

2、其次,楼主可以参考高德地图SDK中就有搜索的接口 可以仔细看一下文档

综上所述,那么对应你想要的结果5就是一些限制了,可以人为处理下。

img


用选择框让用户进行选择不是最省事的吗