在关于我页面,有个个人足迹的图片。
这个图片最早是通过google maps的足迹地图来生成的。
然而,好景不常,这个东西现在也下架了,今年又去了很多地方,但是这个图片要更新就变得非常麻烦,总不能用ps往上打点吧?这也有点太智障了。于是想着通过地图来实现这个功能,高德或者百度,上午试了一下高德,发现免费的静态地图,最多只能添加10个marker,这尼玛是出来恶心姐姐我的吗?就离谱。
下午看了下百度的要好很多,于是下午折腾了一下,把足迹点,通过代码拼成url直接添加图片就能显示了,这个还是不错的,最终效果如下:
其中粉色点点是最起码呆过一段时间的,黄色的点点是途径点。
处理的代码也比较简单,不过最开始用的高德,于是gps坐标获取用的高德的api,需要提供高德的key。
静态地图用的百度的,所以又需要百度地图的ak,这个ak必须用服务端的ak哈。全部代码如下,没做配置功能,需要的自己改改代码就行了(运行前 pip install requests 依赖库):
import time import requests def amap_geodecode(addr): try: para = { 'key': '高德的key', # 高德地图开放平台申请的key 'address': addr # 传入地址参数 } url = 'https://restapi.amap.com/v3/geocode/geo?' # 高德地图API接口 req = requests.get(url, para) req = req.json() print('-' * 30) print(req) m = req['geocodes'][0]['location'] print(addr) print(m) except: return None return m # 按装订区域中的绿色按钮以运行脚本。 if __name__ == '__main__': url_bast = 'https://api.map.baidu.com/staticimage/v2?ak=<百度的ak>&width=900&height=800&zoom=5¢er=103.8319522831,36.0615585627&markerStyles=0xFF0000|0x808000&markers=' city_list = ['北京','上海','深圳', '东营','连云港','锡林郭勒盟','赤峰','承德','济南','泰安','枣庄','昆明','长沙','湘潭','株洲','日照','威海','烟台','深圳','广州','西安','临沂','潍坊','青岛','大理','清迈','海口','三亚','蜈支洲岛','清莱'] pass_city_list = ['天津','德州','景德镇','衢州','佛山','无锡'] print('添加点亮城市:') cord_list = [] visited_marker_style_list = [] for c in city_list: m = amap_geodecode(c) if m: v = '' + m cord_list.append(v) visited_marker_style_list.append('m,V,0xFF69B4') time.sleep(2) print('添加途径城市:') for c in pass_city_list: m = amap_geodecode(c) if m: v = '' + m cord_list.append(v) visited_marker_style_list.append('s,P,0xFFFF00') time.sleep(2) print(cord_list) print('|'.join(cord_list)) print('最终url:') print(url_bast + '&markerStyles=' + '|'.join(visited_marker_style_list) + '&markers=' + '|'.join(cord_list))
别问为啥这么搞,问就是懒得改了,哈哈哈。添加图片直接使用最后的url即可。以后足迹点多了之后,修改list重新生成url即可。
唯一的缺点,不支持国外的坐标,我的泰国的坐标标不上,不过也无所谓了,反正就一个泰国而已。
更多定制化功能,参考百度地图的相关开发文档:
https://lbsyun.baidu.com/faq/api?title=static/prepare
https://lbsyun.baidu.com/faq/api?title=static/markerStatic
https://lbsyun.baidu.com/faq/api?title=static/heightStatic
60 comments
见识太少羞于展示
额。不至于,可以多出去玩玩啊。
百度的ak有限额么?我那个人工智能图片识别用完额度了,拍天空用不了了
貌似是有的
这个好,我得来一发
简单粗暴的办法,哈哈哈
滴,知识+1
滴,识别错误
太棒了!
嗯嗯 这个比较简单
基本上都在周边玩耍,待我闲了周游全国也搞个这个,很有趣
全国蹦跶吧 嘎嘎
我的想法是这样的:我的文章里设置写文章所在地(虽然不准确,之前的文章可以手动写进去),然后这个地图可以获取文章的的所在地,在地图上显示出来,那就好了。
其次呢,百度的产品,现在对它失去信心了。目前就用它的网站统计。
单独的点其实也不是特别必要吧。
毕竟也不会导航过去。
只显示图片这个创意很好
嗯嗯 就是个图片 简单粗暴 哈哈哈
我的about页面也搞了一个,手动涂色的。以县级行政区为单位比以地级市为单位更加科学
的确,其实类似高德app那种足迹是最准确的,不过这种就大范围打点,也行吧。毕竟不是整个县城都跑遍了。
哈哈。太勤快了。我是真得懒。
在公司有点时间就折腾下
原来如此,还可以这样记录一下自己足迹,学到了,不过对于阿宅,这个点应该比较集中吧哈哈!
来个热力图
我去过的地方真不多
我也是周边居多
原来这玩意还有api呀,我记得高德手机上好像是有个足迹来着
是的 但是不能导出分享
看看这个,再看看我的,顿时觉得我的不香了。
主打简单粗暴
我感觉这玩意 玩玩体验一下可以 要是长期定位并记录自己的位置信息 不太安全 哈哈哈
问题也不大 高德的默认是只能自己看
这个定位就是城市标注
只要安全 怎么玩都可以😂
没来过我大江西啊 可惜了
找机会去 好多地方都没去过呢
这个功能我看了好久想整但后来放弃了,技术不到另外要付钱哈。现在想折腾的事个人博客圈他们那个运动数据页面,几次看几次没搞懂哈
那个页面数据多数是假的 不是实时更新的
握草,好强啊
啊?
要是有地级市地图就好了,那样我的点点才会多一点,哈哈
可以定义中心坐标和缩放比例就可以显示自定义区域啦
没出过江浙沪
赶紧出,其实我的活动范围也是省内居多。
这个可以有!
正好我从网上也搞了一个,供你参考,最好能优化下哈哈哈
https://pwsz.com/hobby/4108.html
展示:https://pwsz.com/travel
效果比我弄得这个要高级不少。
马上博友圈是不是就得兴起足迹热了。
不至于,不至于,这个东西很多人都已经弄过了。我这是属于更新,😂
厉害呀,都走遍大半个祖国的美好山河,看来回忆也是满满 🧐
还不够过,找机会还要继续,哈哈哈
灵妹妹周末也偷偷摸摸的更新,【关于我】没放《我的写真》实属差评。
哇 去过的地方不少
还行,还行
这个很好玩,可惜我去的地方太少了!!!
嗯嗯,有时间还是喜欢到处溜达。
去过不少地方啊
换了avatar啦,不错呀
是的,不过好多头像代理服务,更新头像太慢了。
可以可以,之前看好多人弄的,自己又懒得弄。哈哈哈
这就高级啦
目前只去过2个城市:北京(2015年暑假去的)和厦门(2016年暑假去的)。之后如果有空的话,想去成都看大熊猫。
成都是个不错的地方,我也想去。