标签: 苹果


16

2013年7月

针对中国GPS偏移问题的更完整的iOS解决方案

这是一个朋友的来宾帖子,[暂时未命名]。它深入到中国’s GPS issue, which I’ve 以前在这里抱怨过。希望借助以下信息,非中国开发人员将能够更快,更有效地解决此问题。请注意,尽管以下信息适用于iOS应用开发,但并非’•严格针对iOS。


问题描述

人们在中国呆了很长时间后经常会遇到的一个问题是,他们发现自己的GPS设备没有’工作。确保您的iPhone或Android手机会很好地报告您自己的位置,但是当您尝试使用路线跟踪功能时,’重新慢跑或如果您使用向他人展示的应用’GPS的位置,例如“查找我的朋友”,您’ll likely see they’站在河边或500米外的某个地方,即使他们’站在你旁边。

这是神秘的 China GPS 关set problem。这已经在几篇文章中进行了介绍[中文] 这里, 这里这里。基本上,中国政府严格控制中国境内的地图数据。它’未经授权在中国境内地图或创建GPS轨迹是非法的。有一些外国人的故事,他们在敏感建筑物附近创建了远足小径,其中有GPS设备因当地有关法律而被捕。

对于流行的地图应用(例如iOS上的Google Maps或Apple Maps),用户 ’自己的位置将是正确的。这是因为将向政府注册的许可公司提供正确的算法来调整用户’的位置。 Google Maps,Bing和其他工具允许您基于GPS坐标来搜索位置,但是没有本地的中国地图提供商(例如百度地图)允许您搜索。

如果您是在紫禁城附近拍摄的照片,请将照片加载到iPhoto或Picasa中,然后查看它在地图上的位置’您会发现位置只是在300-500米之外,通常只有一两个街区之遥。距离不够远以至于极度不准确,但又不够正确以至于使您烦恼并且无法将您置于正确的位置。

Baidu Maps 关set example

Fig 1. Example of proper position at Xujiahui and the 关set location to the northwest

两种GPS标准

国际上最常用的GPS标准基于称为WGS-84的坐标系。地球不是一个完美的球体,从3D到2D的任何映射都会带来一些折衷。真正了解它的人会注意到,当您离赤道越远时,GPS坐标的经纬度变化就越容易’即使你’重新旅行相同的距离。但这是我们的GPS’我们已经知道并在全球范围内使用。

中国使用名为GCJ-02的标准,该标准基于1940年引入的较旧的苏联坐标系’s. It’从WGS-84转换为GCJ-02’d想完成。中国程序员将此坐标系称为 火星坐标系统 or “火星坐标系” (as 在 you’重新将地球从带有WGS-84的地球映射到GCJ-02中的火星)。

初步尝试纠正问题

Static 关set

在英语世界中,第一次尝试纠正此中国抵消问题的方法是,在上海或北京等城市,这种差异是相对固定的。也就是说,如果您仅从纬度中减去几度并为经度添加几度,就可以校正位置。他们很快意识到翻译是非线性的,但是随着城市的变化而变化。

收集数据点

我自己解决这个问题,发现只要我在中国境内’的IP范围,我会看到iOS模拟器正确报告了我的模拟位置,但是如果我在相同的GPS坐标上放置图钉,它将被关闭。我创建了一个简单的应用,可让您将图钉拖回您的实际位置并在抓取后 维基百科’中国的城市清单,具有657个数据点。

数据点

Fig 2. 657 points taken from list of 关icial cities 在 China from 维基百科

使用 电子表格’s LINEST function 您可以将数据分为几组,并且实际上可以获得相当不错的校正,该校正在全国范围内都可以使用,尽管它仍然相差几米。足以让您与实际所在的街道或几家商店隔街相望。

谷歌数据

Fig 3. Example of Google data point set with 关sets

事实证明,如果您使用中文搜索,那么会有几个人在中国境内出售数以万计的大量数据集及其相应的偏移量。显然,人们以前曾遇到过这种需求。在淘宝上,您可以找到价格从400元到900元不等的套装。

待售数据集3

图4.淘宝上出售的数据集示例

提示已解决的代码

一些英语帖子指出,中国的Android编码人员已经在开源中发布了正确的算法。在用中文多次搜索后,找到相关帖子很容易。但是解决问题的实际方法需要更多的努力,直到我发现 唐over的个人网站 和一个 在名为XCoder.cn的热门技术网站上发布.

找到并解释了解决方案

简而言之,最初发布的代码是一个C文件,其中考虑了各种高度,GPS时间和日期等,即使它们未使用。可以在网上找到几个地方。提供了重构和更干净的代码版本 在EvilTransform.cs上的C#中.

It’基本上是一个复杂的变换,使用的方程式描述了从一个坐标系到另一个坐标系的椭球体(地球是什么)。在WGS-84中放入GPS后,您将在GCJ-02中获得相同的信息。

您’请注意,该代码解释说,中国境内的任何事物都需要这种转换,而中国境外的任何事物都不需要’t。而且中国被定义为北纬0.83到56到经度72到138之间的任何值。我认为’有几个国家可能会反对该矩形。

所以现在怎么办?

因此,现在任何需要记录GPS路径,发布GPS位置或地图顶部其他内容的Web或移动应用程序开发人员现在都可以拥有正确的位置。终于找到了在中国任何地方都可以使用的解决方案,这让我感到非常欣慰,因此我们所有人都可以重新创建 有效的应用.


参考文献


2014年12月23日更新:

一名开发人员最近发现这篇文章对解决自己的中国位置应用程序问题很有用,但需要一些其他信息来正确实施上述建议。一世’我在下面分享了这些额外的信息,希望它’对更多开发人员有用:

  1. 苹果以WGS格式返回其坐标,并在渲染时偏移地图(我认为坐标本身是偏移的,而不是渲染的地图)。

    没有提到,但从上面得出的推论是,谷歌反其道而行之…如果我没记错的话,Google会返回中国位置的GCJ坐标(即使您不在中国)…这解释了为什么在输入Google之前,Apple的坐标会关闭,直到将其转换为GCJ。

  2. MapKit only 关sets the map from devices within China.

    由于我们正在对中国境内和境外的设备进行测试,因此我们不确定根本问题在哪里;我们曾尝试进行转换,但随后在中国境外的设备上使用MapKit测试了结果。


25

2012年9月

iOS6让您的iPhone讲中文

我的朋友给了我很好的建议 威尔·史蒂文森 昨天。显然,iOS6不仅添加了对新语言的文本语音转换支持,而且还具有识别和读出中文的功能,即使手机处于通话状态。 英语模式,即使文字是 中英文混合.

这是什么

这里’s an example of “Speak”为中文垃圾邮件文本启用:

IMG_0660

这里’s an example of “Speak”包含英文和中文的注释(I’m not sure why there’可以选择其中一种阅读方式 中文 或英语;任一个都做同样的事情):

IMG_0658

无标题

对于文本消息,iOS将每个SMS文本视为一大块文本,它赢得了’在阅读单词时突出显示各个单词(即使它阅读所有单词)。但是,对于其他类型的文本,在诸如Notes应用程序之类的应用程序中,它将在读出每个字符时突出显示每个字符:

IMG_0659

基层

[旁注:这里’便笺是关于什么的。我注意到了,因为’这是在印刷品中混合使用简体中文和繁体中文字符的罕见示例。这样做是为了把 (心)回到爱的角色,因为简化版 字面上需要“heart” ()(传统的)“love” ()。

如何启用

无论如何,既然你’很可能在这里让您的iOS6设备说中文’s how you do it.

首先,前往 Settings > General > Accessibility (可访问性位于其中所有内容的底部“General.”只是有点难找。自然。)

就在顶部,您’会看到一个称为“视力.” There you’会看到一个名为“说话 Selection.”触摸那个。在下一个屏幕上,将其打开 . 您 can also turn no “高亮单词” 这里 too (why not?). 您 probably don’不想弄乱说话率。它很快变得太快了。

IMG_0653

IMG_0654

这里’不过,这确实很酷。那里’s a “方言”部分。 (不,我’我不去“what is a dialect, 真? 在这里讨论!)在这里,您不仅可以选择英语和其他语言的方言,还可以选择汉语的方言!在底部“Dialects” section, under 中文,您可以选择大陆普通话(中国),粤语(广东话)和台湾普通话(台湾)。不确定为什么他们选择两个区域,然后选择语言/方言/拓扑。但是无论如何,有趣的东西!

IMG_0656

IMG_0657

这是什么意思

为什么这么重要?好吧,我的朋友威尔在经历繁琐的复制文本程序时偶然发现了它,因此他可以将其粘贴到 普莱科‘的粘贴板阅读器。他尝试播放文本,令他惊讶的是,他能听到中文(而在过去的iOS5中,文本到语音转换器只会跳过所有中文)。在这个特定的例子中,让中国人读给他听, 他没有’t need to look it up 毕竟。

因为很多中文的挑战仅仅是 识别您已经知道的单词的字符,文字转语音功能非常方便。将’s reaction was, “现在我有了这个功能,我’我现在将减少使用Pleco!”

有趣。让我知道您是否认为此新功能会改变您在手机上学习汉语的方式,或者’对您来说没什么大不了的。


用于学习拼音的新iPad应用

19

2012年4月

用于学习拼音的新iPad应用

I’我非常高兴地宣布,AllSet Learning刚刚发布了第一个iPad版iOS应用,名为 AllSet学习拼音。它’这是一个简单的应用程序,旨在获取典型的拼音图表,我们都开始学习汉语并将其改编成iPad。因此,这意味着支持多种方向以及缩放和平移。当然,还可以点按音频。

去年AllSet学习’的客户开始以惊人的价格购买iPad,所有初学者都提出了相同的要求: 我想要为我的iPad设计的拼音图表。以便’s what we built.


产品页面上有更多屏幕截图

该应用程序是免费的,不仅提供所有四种音调的所有拼音音节的音频,而且还支持非拼音的语音表示。因此,如果您购买(非常便宜)的插件,则可以从拼音切换到IPA,甚至切换到Wade-Giles和zhuyin之类的其他系统。

该应用程序还将有更多插件。同时,请 试试看,告诉您的朋友,并在App Store中对其评分。谢谢!


相关链接:

AllSet学习拼音:在App Store上的内容
全集学习网站上的AllSet学习拼音


28

2012年2月

在iPad和Mac OS上解开中文和日文字体

最近一个 全集学习 一位客户来找我一个有趣的问题:他发现自己有点奇怪“off”他的ChinesePod课程中的人物变化,“调整温度.”从前我学习日语,所以我可以认出他看到的日语变体字符:

他所看到的:
ChinesePod字体(具有日本特色)

他期望看到的是:
ChinesePod字体(简体中文)

[如果您确实在意微小的差异,则可能需要单击并放大屏幕截图以查看差异。一世’我不会在此处重点关注文字,因为’问题的本质:文本可能会根据您的系统而更改’的字体可用性。]

真正奇怪的是,他在2010 MacBook和iPad 2上都遇到了完全相同的问题。在对这个问题进行故障排除时,我发现我的客户端同时运行了旧版本的iOS(4.x)和Mac OS(Leopard)的旧版本。我的2008 MacBook(运行Snow Leopard)或iPad 2(iOS 5.x)都没有体验。但是他的系统具有所有必需的字体,将浏览器从Safari切换到其他浏览器并不能解决问题。因此,我得出结论,这仅仅是一个系统配置问题。

在iPad上修复问题

这里’解决。在iPad上,进入 Settings > General > International (you might need to scroll down for 那 last one). 您 might see something like this:

iPad语言设置(2)

请注意,按照上图所示的顺序,日语(日本语)以上为简体中文(简体中文)。 这很关键! 这意味着,如果在给定页面上未找到英文字体,则系统接下来将使字符与日文字体匹配。

因此,要解决此问题,中文应该是 以上 日本。事情在那里’没有明显的改变顺序的方法。我发现这样做的唯一方法是将系统语言切换为中文,然后再切换回英语。 [警告: 执行此操作时,整个iOS系统界面将切换为中文;请确保您能阅读中文,或者在切换之前知道此设置页面的菜单位置在哪里!]

(提示提示!)
iPad语言设置-中文

切换到中文会使中文跳到列表的顶部,然后切换到英语会使英文跳回到该列表的上方,而日语则跳到中文下方。

您 should see something like this when you’re done:

iPad语言设置(1)

解决Mac OS X上的问题

确切的问题适用于Mac OS X系统偏好设置。去: System Preferences… > Language & Text > Language.

Mac OS系统偏好设置

不过这次,那里’这是重新安排订单的简便方法。只需单击并拖动:

Mac OS语言设置

请注意右侧的关于更改何时生效的小消息。

这真的重要吗?

在宏伟的计划中,并非如此。它’对字体变化具有一定的容忍度实际上是很好的。但是注重细节的工作可能会发现这个特定问题令人发疯。它’有一种简单的方法可以解决此问题。

那为什么没有’我有问题,他做到了吗?好吧,我曾经尝试在MacBook和iPad上将系统语言切换为中文,但后来我又将其切换回英语。因此,我什至没有尝试,就已经教我的系统比中文更喜欢中文。当英语是唯一使用过的语言,而系统没有’不知道该优先选择什么。在我的客户中’例如,您可能会认为在系统中添加中文输入法可能有所提示,但显然Apple并非如此’t quite 在球上。


20

2011年12月

下见’的非官方iPhone应用程序

最近有一个中国朋友带我进入 下见。万一你’我从来没有听说过 技术米 像这样描述它:

> 下见 也许是中国最接近 Last.fm,尽管在Last.fm中,用户必须按月订阅才能收听歌曲,而Xiami在下载点之前仍然完全免费。

所以想“social music site,” with both free and paid 关erings.

I was 在 terested to see how the site 关ers its 苹果手机 app for download:

下见's 苹果手机 app

因此,弹出消息很少告诉您,您必须下载iOS安装文件(.IPA文件),并且它仅在(非法)越狱的iPhone上有效。

I’ll admit I don’在中国iPhone应用程序方面有很多经验;我主要只使用其中一些。一世’我很好奇现在有多少其他相对较大且受欢迎的服务正在这样做。夏米服务似乎很多“more legal”从西方的角度来看,比百度这样的服务’s MP3的下载,但随后他们继续通过其应用执行此操作(大概是因为Apple赢得了’t approve the app).

任何人?


More about 下见:
China’s Internet Music Industry, 您 Pay For Music Now (技术大米)
下见 versus Grooveshark (超时北京)


19

2011年8月

汉字拼接阅读器的Word Tracer应用程序

iPad写作应用

前一段时间我写我的 学习在iPad上写汉字 帖子中,我评论了一个名为 文字追踪器。 文字追踪器越来越强大,现在同时在iPad和 苹果手机 口味。此外,开发人员在最近的更新中为该应用程序添加了一些其他功能,从而允许使用’t strictly “tracing.”

无论如何,为了感谢我的审查,开发人员为我提供了许多免费的应用程序副本(iPad或iPhone),以分发给Sinosplice读者。如果你’有兴趣获得此应用程序的免费副本,只需在此处留下评论(带有您的真实电子邮件),或给我发送电子邮件,说明为什么您认为iPad(或iPhone)对您最有意义,这是练习写作的一种方式中文。一世’会免费赠送Word Tracer,以奖励在前48小时内获得的最佳成绩。 (请认真回答;我’我非常有兴趣从中学习一些东西!)


更新: 感谢所有发表评论并给我发送电子邮件的人!回复的确非常好,我很遗憾你们每个人太多,无法免费获得该应用程序的副本。不过,我的确很感谢您的回复,所选人员将很快收到一封电子邮件。一世’m立即关闭此博客文章的评论。


iPad版Chinagram

19

2011年4月

iPad版Chinagram

我最近有机会尝试 中国文摘,这是一个新的iPad应用程序,其中引入了汉字。那里’有很多专门用于iPad的中文学习应用程序,所以我决定对此进行复习。

该应用程序给我的第一印象是制作精美。我猜是’s意大利设计为您服务。整体美观度很好,并且有很多小改动,使该应用程序易于使用。唐’t miss the “中国写作史”部分。虽然其中所包含的信息无法提供’t find on 维基百科 和许多其他网站’肯定以某种方式呈现在这里’浏览愉快。我特别喜欢滑动到新页面时获得的前景/背景仿3D效果。

在玩了一点应用程序之后,我想到的关键问题是: 这个应用程式适用于谁? 是针对高年级学生吗?中学生?初学者?还是只是一个休闲汉语的学生?毫不奇怪,我的结论是’s为汉语的临时学生。当然,初学者可以从中受益匪浅,但由于该应用程序仅涵盖120多个字符,因此认真的学生赢得了’不能长期使用它。该应用程序的优势也许在于它对所包含字符演变的处理。它包含的图形比 文林,但肯定不是 ChineseEtymology.org (免费)。文林的成本要高得多,而 ChineseEtymology.org实际上现在有一个iPhone应用程序.

那里’尚未为iPad创建许多中文学习应用程序。 中国文摘 必须成为目前应用商店中最有吸引力的一款’s still $1.99 it’对于初学者或临时学习者来说,这是一个很好的选择。