昨天,偶然间脑洞大开,想做一个O2O的约基应用。

用户故事

作为这样一个基于GayHub的应用,首先我们应该在地球上标示出中国:

然后,我应该打开离我最近的那个省,看看这个省有多少人使用GitHub:

然后,我们再到这个市里面,按不同的区来找人:

现在,我们已经锁定了一个目标:

这样的过程太麻烦了,最好能获取我当前地理位置,然后算出距离:

然后我们就可以开始实战了。

实战

之前用过AMMAP、CartoDB、OpenLayer等等的一些地图库,这次用的是之前想用的Leaflet:

然后,从GitHub上搜索到了一个包含中国地图的GeoJSON,从省到市,再到区和县。无奈的是,光只有这个图太丑了,只好加上Mapbox。

这地图只是太可爱了~~

这地图只是太可爱了~~

这地图只是太可爱了~~

然后,再结合Bootstrap和jQuery:

我们就有了一个简单的页面了,并且可以有一个显示Popup的Modal。

现在,我们需要一些用户数据——如姓名、GitHub用户名、以及用户公司的经纬度:

把这些用户变成一个个的Marker、显示到地图上:

再通过HTML5的geolocation API 来获取用户当前的经纬度:

最后,我们就可以计算他们的距离了,并获取最短的那个用户:

并且,我们还可以使用多边形搜索 :

? ? ? ?

当前上面只有十几条数据,如果你愿意的话,不烦也将你的数据放在上面吧。

Blabla~~,更多精彩内容请关注


点击“阅读原文”,在线预览

有了他,和编程大牛面基不在话下相关推荐

  1. c语言boolean作为全局变量_最容易忽略的C语言知识点细节,编程大牛进阶之路!...

    当你选择了一种语言,意味着你还选择了一组技术.一个社区.--Joshua Bloch 一条长语句需要换行写,可以在行的末尾加入反斜杠 表示:宏都是单行定义,如果多行定义,也是用反斜杠 表示. 例如: ...

  2. 编程大牛Eric Raymond对几种计算机语言的评价

    编程新手都有一个同样的问题:我应该学习哪一种语言?. <Unix编程艺术>(Eric Raymond著)第十四章,对各种语言进行了评价,正好可以用来回答这个问题.下面是知名IT博客阮一峰的 ...

  3. 成为编程大牛很简单,把这些书看个八成就OK

    程序员必读书单 1.0 原文链接:http://lucida.me/blog/developer-reading-list/ 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每 ...

  4. php大牛应该掌握的技术,一个编程大牛给PHP初学者的50条忠告

    0.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的"函数" ...

  5. 看看编程大牛们是怎么摆放桌面文件的

    因为灵感随时可以从混乱的桌面获得,并且看似混乱的背后,其实自有一套混乱制造者的逻辑,并不影响他们执行工作的效率. 爱因斯坦.马克·吐温.扎克伯格不幸躺枪-- 爱因斯坦 马克·吐温 马克·扎克伯格,脸书 ...

  6. 不懂编程可以自学python吗-给初学python的朋友的一些忠告和建议

    从2013年开始接触python以来,我体验过阅读书籍,学习MOOC,查阅文档,谷歌搜索,逛编程社区.现在仍在学习python中,走了很多的弯路.成功的道路各有不同,失败的地方却是种种.我想把我学习p ...

  7. 【Android 应用开发】Android之Bluetooth编程

    Android Bluetopth 编程大牛文章 http://my.oschina.net/u/994235/blog?catalog=313604 ViewGroup 相关资料 : http:// ...

  8. 提升编程水平的靠谱方法

    杰洛德·桑托 (Jerod Santo) 写于 2016年12月19日 编者按:我原先曾在2010年5月,为"编程加油站"网( Fuel Your Coding )写过这个话题.很 ...

  9. “你们对编程和头发一无所知。”

    头发是比青春更容易流失的东西 大量脑力劳动 熬夜作息不规律 精神压力大 饮食不健康 ... 都是造成脱发的重要原因 有的程序员 表面上看起来风轻云淡 背地里 却在百度.知乎上遍寻脱发治愈良方 关于职业 ...

最新文章

  1. VS2005在编译项目时找不到Ceplatform和PLATFORMDEFINE变量
  2. 骚出天际!一个程序员女装照片的开源项目
  3. php 映射程序,windows磁盘映射技术分享
  4. linux用户空间和内核exit的语义--linux没有线程
  5. MySQL 常用运算符
  6. PBR:双向反射分布函数(BRDF)介绍与Cook-Torrance模型的实现
  7. 光流(五)--HS光流及稠密光流
  8. Windows 下安装 swoole 具体步骤(转)
  9. 【DL小结5】Transformer模型与self attention
  10. 移动端WEB开发过程中小米浏览器的一个坑?
  11. 盘点微信的前世今生,微信成功的必然和偶然
  12. 接口测试的测试用例该怎么写呢?
  13. Android系统 GPIO状态查询
  14. 无法将数值apsdaemon写入键
  15. Bandit算法学习[网站优化]02——epsilon-Greedy 算法
  16. 计算机使用技巧爆文,自媒体原创(伪原创)爆文的写作技巧
  17. 机器学习之数据挖掘算法(一)OneR算法
  18. win10可用空间新建卷提示磁盘上没有足够的空间完成此操作如何解决
  19. 程序员的五一是怎么过的?除了狗粮还是狗粮?
  20. 日期格式化使用 YYYY-MM-dd 的潜在问题

热门文章

  1. 数字电位器IC市场现状研究分析与发展前景预测报告
  2. 世界杯四强大胆预测!!
  3. 简单解析android Hander处理机制
  4. #来陀螺问答,问大V#交易所专场优质问答精选
  5. Telegraf-Influxdb-Grafana容器化部署拓展(Https、AD域、告警集成)并监控Cisco设备指标
  6. 昆明:推进智慧交通 缓解交通拥堵
  7. 2019年了,中国汽车行业还有多少黑洞?
  8. 微信公众号开发教程(一)
  9. v-model原理总结
  10. c语言编写程序出错怎么改,这个C语言程序怎么改才对?