小编Ste*_*zel的帖子

为什么Mobile Safari中的Geolocation方式不如本机App中的位置准确?

我正在使用Geolocation API(通常称为"HTML5 Geolocation")来获取用户的当前位置.如果移动(每秒检查一次),它会自动更新.主要针对iPhone(目前已经过测试),但也适用于其他移动设备.你可以在这里看到一个例子:

http://jsbin.com/uyoyey/

在我测试(外部)时,您可以在管道后的每一行中看到的精度大约为3000(米).这显然很糟糕.我的iPhone上的原生地图应用程序更精确.大约10到30米(通过查看地图和我站在哪里.在另一个应用程序中检查长值和纬度值也可以提供更准确的数字.

当我现在切换回Safari时,准确度会跳到10到30,但在一秒后恢复到3000.

问题:

  1. 你能复制这种行为吗?
  2. 为什么这个地方到目前为止一开始呢?
  3. 通过Geolocation和CLLocationManager访问GPS数据之间有区别吗(我认为本机应用程序使用它)?

谢谢!

更新1:
我在其他地方(较大的城市)进行测试时获得了更准确的结果,但我现在想知道原生应用程序是否也使用运动跟踪来更新位置.这可以解释为什么地图应用程序可以跟踪我的步骤,而Safari无法识别它们.

更新2(03.08.11):
在与Peter-Paul Koch的电子邮件对话中,他写道Safari主要使用wifi进行地理定位以延长电池续航时间.这可以解释这些差异.
我仍然不完全确定发生了什么.

iphone html5 web-applications geolocation

6
推荐指数
1
解决办法
5600
查看次数

选择匹配整数上字符串的开头数

我有这张桌子:

CREATE TABLE `test` (
    `ID` int(11) NOT NULL auto_increment,
    `text` varchar(250) collate utf8_unicode_ci default NULL,
    PRIMARY KEY  (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Run Code Online (Sandbox Code Playgroud)

内容:

ID     text  
1      70-and-some-text  
70     blub

然后我执行这个查询:

SELECT
    *
FROM
    test
WHERE
    ID = '70-and-some-text'
OR
    text = '70-and-some-text'
Run Code Online (Sandbox Code Playgroud)

并获得两行.似乎MySQL试图匹配ID的数量,然后停止.我想我在某个地方看过,但再也找不到了.

答案和提示非常感谢.提前致谢.善待,我是新人.告诉我,如果我做错了什么.我非常尊重你们.

斯特芬

==================

感谢Tomalak,我现在知道问题的来源.处理这个问题的最佳做法是什么?我控制'文本',所以我可以使用PHP来获取'_70-and-some-text'或字符串.但MySQL中的解决方案将是"最纯粹的".

mysql

2
推荐指数
1
解决办法
626
查看次数

标签 统计

geolocation ×1

html5 ×1

iphone ×1

mysql ×1

web-applications ×1