mars3d App开发——判定导航路线或者POI点是否被收藏

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

mars3d App开发暂时涉及到的业务都是纯前端部分,但是我们也为后端留有接口,其中就包括判定导航路线或者POI点是否被收藏。


一、业务需求

点击收藏POI点或者路线后,再次进入时能够判定是否已经被收藏,并且收藏图标发现改变。
合肥南站 POI点已经被收藏,下次再次进来是依然显示被收藏。

在这里插入图片描述

二、实现过程

1.接口部分

代码如下:

// 判断是否已经被收藏
export async function isCollectionPoint(currPoint) {
  const result = await getCollectionPointList() //或者所有被收藏的数据
  if (result.data) {
    return result.data.some((point) => {
      let samePoint = false
      if (point.name === currPoint.name || point.positions === currPoint.positions) {
        samePoint = true
      }
      return samePoint
    })
  }
}

第一步:首先拿到所有被收藏的POI点数据
第二步:currPoint是传入的当前POI点。
第三步:通过名字和坐标是否相同判断该POI点是否已经被收藏

2.取消收藏

代码如下

const deleteCollectionPointById = async () => {
  const { status, data } = await api.getCollectionPointList()
  if (status === 200) {
    const deletePoint = data.filter((item) => item.name === point.name)
    deletePoint.forEach(async (element) => {
      const { status } = await api.deleteCollectionPointById(element.id)
      if (status === 200) {
        $message({
          message: "已取消收藏",
          type: "success"
        })
        icon.value = "clarity:star-line"
      }
    })
  }
}

3、收藏

代码如下

const addCollectionPoint = async (e: any) => {
  const { status, data } = await api.addCollectionPoint(e)
  if (status === 200) {
    $message({
      message: "已收藏",
      type: "success"
    })
    icon.value = "ant-design:star-filled"
    pointId.value = data.id
  }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 开发一款地图导航应用需要掌握以下技术: 1. 地图引擎:使用地图引擎技术,如Google Maps API、OpenStreetMap等,可以实现地图的显示和操作。 2. 定位技术:使用GPS、Wi-Fi、蓝牙等技术来实现用户的位置定位。 3. 路径规划:使用算法,如Dijkstra算法、A*算法等,来实现从用户当前位置到目的地的最优路径规划。 4. 数据库技术:存储和维护地图数据,如道路信息、POI信息等。 5. 移动开发技术:使用移动开发技术,如Android、iOS、React Native等,来实现导航应用的界面设计和功能实现。 这些技术结合在一起,可以实现一款完整的地图导航应用。 ### 回答2: 开发一款地图导航应用需要以下技术: 首先,需要掌握地图数据的获取和处理技术。这包括获取地理数据源(如谷歌地图、百度地图等)、解析和处理地图数据,并将其转换为可供使用的格式(如矢量图、栅格图等)。 其次,需要了解地理信息系统(GIS)的技术。GIS技术包括地图投影、坐标系统转换、地图缩放、地理空间分析等,这些技术能够提供更精确和高效的地图导航功能。 还需要掌握全球定位系统(GPS)的技术。GPS技术可以获取用户的位置信息,并提供导航服务。需要了解GPS定位原理、GPS数据处理技术和GPS信号捕捉技术等。 另外,需要熟悉移动应用开发技术。地图导航应用通常是在移动设备上运行的,所以需要掌握移动应用开发技术,如Android开发(Java或Kotlin)、iOS开发(Objective-C或Swift)等。这些技术可以实现地图的显示、用户位置的定位与显示、导航路线的规划与显示等功能。 最后,需要掌握网络编程技术。地图导航应用通常需要获取实时的交通信息、路况信息等,这就需要通过网络进行数据的获取和传输。需要掌握网络通信协议(如HTTP)、数据传输格式(如JSON或XML)等技术。 总之,开发一款地图导航应用需要掌握地图数据处理技术、GIS技术、GPS技术、移动应用开发技术和网络编程技术等多个方面的技术知识。 ### 回答3: 开发一款地图导航app需要涉及多个技术方面,以下是一些主要的技术考虑: 1. 地图数据:需要获取地图数据并进行处理,可以使用地图API(如谷歌地图API、百度地图API)来获取和显示地图数据。 2. 定位技术:为了实现导航功能,需要使用定位技术获取用户当前位置信息。可以使用GPS定位、基站定位或WIFI定位等技术。 3. 导航算法:导航app需要实现路径规划和导航指引等功能,因此需要使用一些导航算法,如Dijkstra算法、A*算法等来计算最短路径。 4. 数据存储:地图数据、用户信息、历史记录等需要进行存储和管理,可以使用数据库来存储这些数据。 5. 用户界面设计:一个好的用户界面设计能增加用户体验,因此需要考虑用户导航交互界面的设计和实现。 6. 移动端开发:地图导航app一般需要在移动设备上使用,可以使用移动端开发技术进行开发,如Android开发、iOS开发等。 7. 前端开发:如果是使用web技术进行开发,还需要考虑前端开发技术,如HTML、CSS、JavaScript等。 8. 后端开发:地图导航app需要与服务器进行数据交互,因此需要考虑后端开发技术,如Java、Python、Node.js等。 总之,开发一款地图导航app需要涉及多个技术方面,包括地图数据处理、定位技术、导航算法、数据存储、界面设计和移动端开发等。具体选择哪些技术取决于开发团队的技术栈和目标平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值