Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
T treasure
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 12
    • Issues 12
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • External wiki
    • External wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • FE
  • treasure
  • Issues
  • #238

Closed
Open
Created May 23, 2024 by JayChen@JayChenOwner

高德地图web sdk adcode不准确

背景

geocoder.getAddress(逆地理)拿到的adcode数据和getDistrictByContainerPos拿到的adcode是不一样的。
ps:接口也是通过逆地理拉取的历史数据,也存在数据不精准性。高德的adcode变更还算是频繁的

原因分析

表面原因

getDistrictByContainerPos是作为静态图层拉取到前端本地的,adcode并不是实时获取的,所以数据可能有滞后,未及时更新。
而geocoder.getAddress是实时接口拉取的,所以就出现了adcode不一致。

本质原因

getDistrictByContainerPos其实也是通过v3接口实时拉取的,但是他读取的数据确实历史数据缓存的。
原因很清晰:为了收费
getDistrictByContainerPos是免费的,而geocoder.getAddress是提供付费服务的。

image
就是为了收费服务而阉割了免费服务,人为的使数据不精准罢了,因为他的免费服务也是每次进入页面时,去实时调用高德接口的。只是返回的数据是历史的。

方案

1、使用逆地理,但需要避免高频使用场景(会导致产品交互降级)
2、手动更新我司数据库,使之与免费版adcode保持一致(存在一定的数据滞后)。

更多方案待尝试

Edited May 23, 2024 by JayChen
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking