【发布时间】:2018-05-06 01:10:37
【问题描述】:
我想要做什么
我目前正在使用flutter 创建一个应用程序,我正处于十字路口。我在 iPhone 上使用 Google 地图应用程序,它会在晚上的某个时间自动切换到 夜间模式。问题是我不知道使用哪种方法来确定那个时间。
我是如何考虑这样做的
我想了几个选项来确定何时应该激活夜间模式,但它们似乎都不准确或存在部分缺陷:
- 使用地理位置的日落时间然后触发夜间模式。请参阅下面我对黄昏时间的编辑。
- 虽然我认为这提供了很高的准确性,但我注意到时间略有偏差:请参阅数据编辑以进行时间比较。
- 使用设备上的内置传感器/摄像头。
- 虽然这可能有效,但它存在本质上的缺陷,因为照明会根据用户的环境而变化。在房间之间不断改变主题肯定会惹恼用户。
- 我也不确定每个设备中内置了哪种传感器。我知道 iPhone 有一个环境光传感器,但我不确定其他设备有哪些传感器(尤其是 Android)。
目前,我最好的方法是结合使用这两种方法:基于日落,设计某种算法来获取日落时间和使用内置的 时间缓冲区传感器/摄像头来确定环境光何时超过特定限制。如果设备没有光传感器,那么我会简单地回退到用户地理位置的日落时间。
问题
所以我的问题仍然是我的问题的标题:Google 地图如何决定主题应何时在设备上更改为夜间模式 ?
另外(但不是必需的):flutter 是否采用任何方法来帮助开发人员轻松完成这项任务?
附:我不确定要为夜间模式/黑暗主题应用哪个标签(或其他人称之为),所以如果您有任何建议,请告诉我(我认为没有必要创建新标签)。
编辑
黄昏时间
正如 Herb Wolfe 在我的问题下方的 cmets 中所建议的那样,也许 Google 正在使用 dusk time 来切换主题。我绝对可以将其添加到我现有的逻辑中以使其更准确。有关详细信息,请参阅下面的数据编辑。
数据
我很难收集这些数据,所以有机会我会在这里慢慢发布。下面的日落和黄昏时间是通过 Google 检索的(参见下面的来源)。平均值是当天日落时间和黄昏时间之间的平均值。主题时间由我手动收集。
Date Sunset Dusk Average Theme
May 5th, 2018 8:25PM 8:57PM 8:41PM 8:40PM
May 29th, 2018 8:50PM 9:25PM 9:07:30PM 9:06PM
来源
- 2018 年 5 月 5 日
- 2018 年 5 月 29 日
【问题讨论】:
-
您的首选是黄昏而不是日落吗?
-
@HerbWolfe 谢谢!这确实有助于通过平均日落和黄昏之间的时间来更好地集中时间,但时间差一分钟。对我来说可能是不准确的,但我会在下周尝试收集更多的时间数据来确认。我已编辑我的问题以包含您的建议和其他相关信息。
-
@downvoters 你能帮我理解你为什么不赞成我的问题,以便我改进它吗?在没有解释的情况下对问题投反对票,不仅不会让用户有机会改善他们的问题,也不会改善整个 SO 社区。span>
-
@ctwheels 据我所知,谷歌地图的代码是专有的,所以我们只能推测他们是如何实现的。这可能就是您的问题被否决的原因 - StackOverflow 问题应该简洁并提供要解决的具体问题,而不是导致开放式讨论和猜测。
标签: flutter flutter google-maps flutter