新足迹

 找回密码
 注册

精华好帖回顾

· 美食接龙-- 秘质烧羊肉,下一棒:猪猪的宝贝 材料:茶树菇 (2010-5-11) jmms_smmj · 头次发照片, 请多指教 (早晨上班路上的收获) (2009-11-16) 星星星星
· 安居乐业之找工记 (2006-5-15) sail · 被忽视的宝宝 (2006-10-25) susan
Advertisement
Advertisement
查看: 1344|回复: 13

find nearest store [复制链接]

发表于 2012-8-6 23:03 |显示全部楼层
此文章由 totem 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 totem 所有!转贴必须注明作者、出处和本声明,并保持内容完整
请问像Woolworth, Coles这样的超市是怎么实现 find nearest store这样的功能,有什么商业的API可以实现这样的功能吗?
Advertisement
Advertisement

发表于 2012-8-6 23:26 |显示全部楼层
此文章由 seth_chen 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 seth_chen 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你说是手机app还是website?website要输邮编,然后有大堆的商业api可以用啊,比如google map api什么的

评分

参与人数 1积分 +2 收起 理由
totem + 2 感谢分享

查看全部评分

发表于 2012-8-7 09:31 |显示全部楼层
此文章由 windix 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 windix 所有!转贴必须注明作者、出处和本声明,并保持内容完整
给你简单说下我的思路 (若干年前实现过):

1. 拿到你的store list, 每个都有地址吧, 通过Google Maps或者第三方Geocoding API把经纬度算出来存下来
2. 当用户搜索附近的store时, 可以是邮编, 或者是suburb, 甚至当前精确的位置, 你都给转成经纬度, 然后依次比较store经纬度, 算出距离. 公式网上都有.
3. 这么做的好处是, 之后你就很方便的可以在Google Maps或者第三方地图上把他们标出来了

我当时使用的是MySQL数据库, 还没有原生的经纬度运算支持, 所有还通过一些近似算法进行了加速过滤, 之后从过滤的结果中再挨个计算出精确的距离.

据说现在已有专用/通用数据库直接支持经纬度运算了, 但是好久没接触过这方面的工作了, 你可以查查相关资料

评分

参与人数 2积分 +6 收起 理由
totem + 2 感谢分享
+ 4 感谢分享

查看全部评分

发表于 2012-8-7 09:33 |显示全部楼层
此文章由 windix 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 windix 所有!转贴必须注明作者、出处和本声明,并保持内容完整
另外, 完整的澳洲suburb数据是可以在AU POST官方网站上下载到的, 是一个CSV文件

发表于 2012-8-7 09:37 |显示全部楼层
此文章由 bulaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bulaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 windix 于 2012-8-7 08:31 发表
给你简单说下我的思路 (若干年前实现过):

1. 拿到你的store list, 每个都有地址吧, 通过Google Maps或者第三方Geocoding API把经纬度算出来存下来
2. 当用户搜索附近的store时, 可以是邮编, 或者是suburb, 甚至当前 ...


你这个应该是比较高级的做法了,简单的就用用户给的邮编和加减1和2就出来结果了

发表于 2012-8-7 14:11 |显示全部楼层
此文章由 windix 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 windix 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 bulaohu 于 2012-8-7 08:37 发表

你这个应该是比较高级的做法了,简单的就用用户给的邮编和加减1和2就出来结果了


但是临近的邮编并不一定代表地区就靠近, 比如抬下杠, 3000是墨尔本city, 2999就跑悉尼去了 (2999应该是个无效的邮编)
真实的例子就是维州和新州交界的那几个地方, 维州这边去新州那边的store可能比去维州的还更近
还有若干邮编是邮箱专用的, 并没有真正的地址
Advertisement
Advertisement

发表于 2012-8-7 14:14 |显示全部楼层
此文章由 windix 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 windix 所有!转贴必须注明作者、出处和本声明,并保持内容完整
补充一个我之前提到的直接支持地理信息运算的数据库:
http://en.wikipedia.org/wiki/Spatial_database

这对 find nearby 这样的工作来说绝对是绰绰有余的

评分

参与人数 1积分 +3 收起 理由
o2h2o + 3 我很赞同

查看全部评分

发表于 2012-8-7 19:46 |显示全部楼层
此文章由 bulaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bulaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 windix 于 2012-8-7 13:11 发表


但是临近的邮编并不一定代表地区就靠近, 比如抬下杠, 3000是墨尔本city, 2999就跑悉尼去了 (2999应该是个无效的邮编)
真实的例子就是维州和新州交界的那几个地方, 维州这边去新州那边的store可能比去维州的还更近
还有若干邮编是邮箱专用的, 并没有真正的地址


首位数代表州,变了的时候当然是换州了。还有些邮编是1开头的邮局专用的,也是特殊情况。这些当然都要考虑进去的

评分

参与人数 1积分 +2 收起 理由
totem + 2 感谢分享,这个需要了解邮编的规则

查看全部评分

发表于 2012-8-7 20:12 |显示全部楼层
此文章由 Dan.and.Andy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Dan.and.Andy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
还是手机app实现这个简单

发表于 2012-8-7 21:57 |显示全部楼层
此文章由 totem 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 totem 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 seth_chen 于 2012-8-6 22:26 发表
你说是手机app还是website?website要输邮编,然后有大堆的商业api可以用啊,比如google map api什么的


google map api是要提供latitude 和 latitude的,我可以提供一些store的经度和纬度,但是要求用户输入post code,是否有什么service可以通过post code 找到相应的经纬度呢?

发表于 2012-8-7 22:06 |显示全部楼层
此文章由 totem 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 totem 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 windix 于 2012-8-7 08:31 发表
给你简单说下我的思路 (若干年前实现过):

1. 拿到你的store list, 每个都有地址吧, 通过Google Maps或者第三方Geocoding API把经纬度算出来存下来
2. 当用户搜索附近的store时, 可以是邮编, 或者是suburb, 甚至当前 ...



谢谢,我也想这么做,但是用户输入post code我需要转化成经纬度,我从网上看到一些,比如
http://www.radio-active.net.au/web3/APRS/Resources/AusLatLon
但是觉得不是很权威, 有没有比较权威的商业性的API提供?
好像邮局没有相应的API,
这是我从他们网站上找到的。
http://auspost.com.au/devcentre/our-apis.asp
Advertisement
Advertisement

发表于 2012-8-7 22:09 |显示全部楼层
此文章由 totem 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 totem 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 windix 于 2012-8-7 13:14 发表
补充一个我之前提到的直接支持地理信息运算的数据库:
http://en.wikipedia.org/wiki/Spatial_database

这对 find nearby 这样的工作来说绝对是绰绰有余的


谢谢你,很好很强大。不过向我这样的小应用,就是杀鸡用牛刀了,我就用google map 经纬度计算好了.
刚刚从postoffice的网站找到了postcode data (http://auspost.com.au/media/documents/pc-full_20120731.zip).

然后找到了这个:
http://www.splinter.com.au/geoco ... e-longitude-and-la/

应该可以做了,感谢!!

[ 本帖最后由 totem 于 2012-8-7 21:36 编辑 ]

发表于 2012-8-7 22:14 |显示全部楼层
此文章由 totem 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 totem 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 Dan.and.Andy 于 2012-8-7 19:12 发表
还是手机app实现这个简单


为什么手机就简单呢,不是也需要有相应的GIS系统或第三方API,逻辑上来讲不是一样的吗?

发表于 2012-8-8 00:31 |显示全部楼层
此文章由 Dan.and.Andy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Dan.and.Andy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 totem 于 2012-8-7 21:14 发表


为什么手机就简单呢,不是也需要有相应的GIS系统或第三方API,逻辑上来讲不是一样的吗?


其实楼主这个直接用 google map api 用 ip 转 location 就行了,但是准确率有误差。手机运营商一般会提供 feed 定位 handset 的具体位置,网络可靠的情况下误差很小。

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部