我已经编写了一个在 Android 中使用 GoogleMaps Api v1 的应用程序。这个应用程序使用了几个Overlays (or 逐项叠加)它自主处理一堆事情(即延迟加载标记,因为我有很多标记,一次添加它们将强制应用程序关闭)。我还将它们用作用户的界面:他可以决定他想要看到哪些覆盖(或从他的角度来看哪种标记)。我添加或删除这些Overlays因此。现在我想切换到新的maps-v2-api。该文档没有提及Overlays,并且似乎无法扩展Markers像他们那样final.
我是否被迫模仿以前的地图行为,以便能够添加和删除Overlays哪个手柄Markers他们自己?有谁知道谷歌删除这个有用的设施并迫使任何开发人员完全重写谷歌地图相关代码的原因吗?我也想知道制作这个的原因Marker class final,从而阻止任何人添加与之相关的内容? (我看到的解决方案存储一个全局 HashMap,其中标记作为键,它们需要的信息作为值,在我看来,考虑到标记可能具有与它们相关的不同模型,这是非常丑陋的)。
我是否被迫模拟以前的地图行为,以便能够添加和删除自己处理标记的叠加层?
Yes.
有谁知道谷歌删除这个有用的设施并迫使任何开发人员完全重写谷歌地图相关代码的原因吗?
谷歌工程师可能知道原因。
据我所知,对于简单的场景,新方法需要更少的代码。地图 V1 需要叠加层,而叠加层对于许多应用程序来说是多余的。
我还想知道将 Marker 类定为最终类的原因,从而阻止任何人添加与之相关的内容?
因为Marker
用于 IPC,并不真正保留在您的流程中。几乎您使用 Maps V2 执行的任何操作都会导致 IPC 调用,基于西里尔·莫蒂尔的研究 http://cyrilmottier.com/2012/12/07/the-google-maps-android-api-v2-utopia/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)