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 14
    • Issues 14
    • 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
  • #203

Closed
Open
Created Nov 03, 2023 by JayChen@JayChenOwner

高德地图2.0版本svg和canvas选择机制导致的问题

问题

内嵌在locationApp内的地图,文字模糊,给人一种山寨的既视感,如图所示。
image

分析

现象

通过调试和代码研究,发现当我们使用高德1.4.X版本时,无论是内嵌到locationApp,还是直接在mobile safari打开,
生成的代码都是canvas。而当我们使用高德2.0版本时,在mobile safari打开确实是canvas,而在locationApp内打开却变成了svg。

原因

客户端目前使用的是 WKWebView,而这玩意如果没有打补丁的话,会有个bug,会影响canvas的大小和像素比。一些老版本的ios尤其明显,如ios 15及之前。
当然,这是现在很少见的机型了,但并不妨碍高德地图会去判断,如果是ios,并且使用了WKWebView,并且未修复canvas可能发生的问题,就直接使用svg。
而svg在高清屏会出现失帧问题。。。也就是模糊。

解决方案

1、直接设置 window.forceWebGL = true 强行开启canvas模式。 2、ios客户端尝试去打补丁,解决目前可能已经不太会存在的古董机。

优化后如下图所示

image

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking