换个维度解决问题(1)

作者:陆麟
转载请征得作者同意.
2025.1.19



介绍几个换个维度轻松解决问题的案例。今天写第一个。
好多年前,做一个工具软件,其中有一个功能是画面上有个地图,点击地图上的任意位置,都有相应的功能。例如显示个被点击位置的天气之类的信息。
这个功能吧,放在现在但凡引用一个地图的SDK,都能有基本的事件功能,但是咱们是小工具,几十K大小的主程序,配上一张图片就算基本完工一半了。并没有必要 配几十兆几百兆的地图和SDK。实际程序里面用的那张图,连我自己都不知道是哪个同事从哪里搞来的。那挑战可就来了。开发者怎么才能知道图片上的任意一个点,到底是北京还是上海还是哪个省呢?
同事苦恼了挺久,过来说这功能不好办。
我给了一个办法。做法如下:
1.咱们用的那张图,让美工同事把地图上的每个省份、城市都用不同的颜色填充。这个图,是一个单独的文件,不是程序里的资源。
2.程序里面加载原始图片,用于显示。用户点击时的坐标,到美工新填充的图片上去找,找到了颜色,就知道是哪个地方了。

这个办法通用性在于即便加载的不是一个地图,而是一个设备的图纸,也能用这个方法找到点击的位置是哪个部件。而且这个方法不需要任何SDK,只要会画图的人就行了。把一个开发问题转化为一个美工问题,这就是换个维度解决问题。