最好的移动商店定位器解决方案,有10000多个标记
Best mobile store locator solution with 10.000+ markers
我正在为移动设备(iPhone)开发一个商店定位器web应用程序。这个想法是标准的,该设备使用其地理定位功能来确定位置,然后应该在地图上显示5-10家最近的商店。我的问题本质上是我有太多的商店(10.000+),还没能创造出一个好的用户体验。
我知道这个问题可能有点多,但我很想听听你对此的看法。。
问题范围:
i) 我想我只能一次加载一些标记,而不是所有标记,我发现很多<100商店查找应用程序做。
ii)它应该是对不良连接友好的:例如,谷歌地图不应该进行非必要的放大和缩小,从而导致加载新的瓦片(以及显示连接是否不良的空屏幕)
iii)它必须以某种方式应对这样一个事实,即设备gps/塔三角测量可能很慢,无法足够准确地确定你的位置(如果在室内或农村地区,通常需要一两分钟)
我尝试过的解决方案:
I) 使用getCurrentPositionation,并从该lat/lng负载中选择5个最接近的标记。问题:快照定位不准确,通常加载了"错误"的5个存储。
II) 使用watchPosition直到精度达到<100m,然后装载最近的5个标记。问题:通常需要很长时间才能获得职位(通常>1分钟),这不是一个好的用户体验。
III) 与II相同,只有标记在找到准确位置时被连续加载。问题:每次更新时,使用fitbounds()或panTo()都会变得非常"跳跃"。也就是说,如果用户试图在地图仍处于"查找位置"模式时点击标记,他们将被地图改变边界和加载更多标记所干扰。
IV) 使用watchPosition和固定缩放将边界拟合到近似位置,并使用地图中心获取最近的存储。当watchPosition找到一个更好的近似中心或用户自己平移地图时,不断加载标记。问题:同样,有点紧张,因为watchPosition更新了很多。没有"你的位置"标记。
背景信息:
我使用了很多标准的谷歌方法来创建商店查找器,如下所示:http://code.google.com/intl/sv-SE/apis/maps/articles/phpsqlsearch.html
Google Maps v3 API,MySQL数据库,Haversine公式,JSONP标记数据的异步加载,无库(jQuery等)。用这种方法加载5-10个新标记通常需要不到1秒的时间。
我不知道watchCurrentPosition是什么,我想你是说watchPosition;其在HTML5地理定位规范中定义
-
我不会为此使用
watchPosition
。从技术上讲,它被定义为跟踪位置的变化,这并不一定意味着精度的提高。虽然我不是移动设备功耗方面的专家,但我敢打赌,它启动GPS并使其保持开启所需的功率要比获得1个真正好的定位所需的功耗大得多,而这正是getCurrentPosition
的设计目的。 -
如果这真的是GPS/传感器修复时间问题,我会感到惊讶。许多网站使用
getCurrentPosition
来查找用户的当前位置,大多数移动设备可以在几秒钟内完成,这与AJAX调用没有太大区别。我会使用PositionOptions
设置来设置合理的超时值maxAge,并使用enableHighAccuracy值。 -
如果你的10K商店位于2-5英里半径范围内,那么你肯定会遇到一个难题:-D,但除此之外,你从Geolocation API获得的数据应该能够在合理的精度范围内缩小少数商店的范围。地理定位API可能不会返回代表您确切街道地址的lat/lng,但它应该会为您提供正确城市内的位置,如果不是街道群的话。
-
我将其分解为两个问题:1-通过API地理定位获得可接受的准确位置(lat,lng)。2-在位置(lat,lng)附近寻找储存。如果你在第1部分或第2部分中遇到问题,那么提出重点问题会容易得多
- 可以转换显示属性吗?如果没有,什么'这是最好的解决方案
- iPad虚拟键盘-哪一个-javasctript解决方案
- AJAX HTTP基本身份验证解决方案
- 在chrome web商店中打开时,是否有允许执行内容/后台脚本的解决方案
- Chart.js-添加渐变而不是纯色-实现解决方案
- learnyounode杂耍异步解决方案不工作
- 了解因子分解解决方案
- 提交表单后的最佳解决方案
- 计时器在使用 jQuery 一分钟后没有触发,或者每 1 分钟后给出一些其他解决方案来触发功能
- chrome中的意外全局变量有解决方案吗
- 更好的解决方案HTML元素幻灯片从右侧CSS转换
- 使用SeleniumWebdriver将文本复制到文件时出现编译错误的解决方案
- 如何让我的网站上的WEBP图像加载在morzilla firefox中有一个可能的解决方案吗?如果是,那么如何
- JS驱动的常见问题页面的推荐DB解决方案
- 这里有一个更优雅的/DRY/可维护的JS解决方案
- 什么是农民最实用的解决方案;印刷动物”;
- 根据某些条件验证用户输入,而不是将输入输入到数组中,需要最基本的解决方案
- 将数据加载到地图上的更好解决方案
- 最好的移动商店定位器解决方案,有10000多个标记
- 当我重复图像 10000 次时页面挂起.需要任何替代的jQuery或JavaScript解决方案