#When and How to Use Static Maps

地图加载慢?浏览器支持不友好?或许使用 Mapbox 静态地图是个讨巧的思路!

静态地图 —— Static Map,什么是静态地图,为什么用,谁在用,还有怎么用,这篇文章将会为你一一道来。

什么是静态地图

Mapbox Static Maps 是可以将 Mapbox Studio 生成的地图样式变成图片的 Rest APIs 和客户端库的集合。

了解更多请查看:

分享 | Built with Mapbox —— 30分钟掌握 Mapbox 静态地图​mp.weixin.qq.com

静态地图是网站或移动应用程序中显示地图的最简单的方式,因为它们不需要地图库或 SDK,而且可以在任何地方显示图像,比如在应用程序或 UI 中无法集成交互地图的地方。

开发人员使用静态地图只需几行代码,以及一个 HTML 图像标记就可以创建地图,如下方代码

<img alt='static Mapbox map of the San Francisco bay area'
src='https://api.mapbox.com/styles/v1/mapbox/streets-
v11/static/-122.337798,37.810550,9.67,0.00,0.00/1000x600@2x?
access_token=pk.eyJ1IjoiaXJpc2ppYXFpc2hpIiwiYSI6ImNqbTk1cm8zdDA1djMza21vMGVkbDRjcnQifQ.rl3QYFhlM3ra9Rb6lcJFDA'
>

静态地图的速度很快。在不同的用例和地区,静态地图的平均加载时间在 100-425 毫秒之间(这取决于图片是否已经被缓存)。

谁在用静态地图,为什么用?

Strava(可以理解为海外的 Keep),Snapchat,Lyft,雅虎日本和 Shopify 都使用静态地图来减少加载时间,提高用户参与度。

静态地图以图像的形式渲染,实现了对跨浏览器和跨平台的支持,包括在不支持 OpenGL(OpenGL 是一种为大多数 Web 和移动地图渲染器所使用的渲染技术)的传统浏览器中,以及更多的传统媒体(如印刷物)中。

静态地图是数据记者的宠儿,你可以在 Buzzfeed 的网络与平面新文章中阅读到以地图为特色的新闻故事。

雅虎日本利用静态地图的通用平台支持,帮助用户可以在使用任何浏览器的时候,获得一致的网络体验。他们在 Mapbox Studio 中创建了一种地图样式,支持以下不同的情况:

对于那些浏览器支持 Mapbox GL JS 的用户,他们可以使用 GL JS

对于那些浏览器不支持的用户,他们则可以使用静态地图

由于 GL JS 和静态地图使用相同的地图渲染逻辑,这意味着雅虎日本的用户可以获得一致的地图体验。查看本指南,了解如何构建相同的体验。

健身和社交媒体

由于静态地图速度快、重量轻,因此它们非常适合于提高性能直接推动参与度的用例。

Strava 使用静态地图显示动态的活动信息,并通过路线地图向用户展示跑步、骑车和其他活动的详细摘要。这些地图为用户提供了上下文信息,鼓励他人参与其中,并鼓励他们自己去活动。

Snap 在用户的资料页面中使用静态地图,为用户提供了用户在地图上的好友位置的快速快照。这些地图通过超链接来驱动互动---用户可以点击地图图片直接与好友留言和互动。

在线交付和物流

静态地图为开发者节省了时间,同时又不牺牲功能和灵活性。

Shopify 在他们的包裹追踪应用 Arrive 中使用静态地图和交互式地图,让用户始终能快速、准确地了解到他们的包裹在哪里,以及他们要去哪里。他们在 feed 中使用静态地图向用户展示他们的包裹目前在哪里,同时还提供了将静态地图扩展为更大的交互式地图的选项,以跟踪包裹的整个旅程。

像 Lyft 和 Square 这样的客户使用静态地图来优化在线交付体验,通过让用户准确地了解到他们的购买地点,从而与用户建立信任。

还有什么优点?

开发人员还可以利用静态地图的快速加载时间来提高 GL 网站地图的感知性能。可感知性能是指用户对网站的感觉有多快。提高感知性能的策略可以让开发人员在后台加载完整的网页体验时,保持用户的参与度。

开发人员可以使用静态地图来立即向用户展示一些相关的东西,而交互式的 GL 地图在后台加载时,我们有一个例子,详细介绍了如何做到这一点。

Load a static placeholder map until Mapbox GL JS finishes rendering​bl.ocks.org

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Display a map</title>
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
<script src="https://api.mapbox.com/mapbox-gl-js/v1.7.0/mapbox-gl.js"></script>
<link href="https://api.mapbox.com/mapbox-gl-js/v1.7.0/mapbox-gl.css" rel="stylesheet" />
<style>body { margin: 5px 20px 20px 20px; padding: 2em; }#content {width: 800px;}#bigMap { width: 600px;height: 400px;margin: 20px 0px;display: grid;}#map {grid-column: 1;grid-row: 1;width: 100%;height: 100%;visibility: hidden;}#static {background-image: url('https://api.mapbox.com/styles/v1/mapbox/streets-v11/static/-85.757,38.25,10/600x400?access_token=pk.eyJ1IjoiZGFuc3dpY2siLCJhIjoiY2l1dTUzcmgxMDJ0djJ0b2VhY2sxNXBiMyJ9.25Qs4HNEkHubd4_Awbd8Og');width: 100%;height: 100%;grid-column: 1;grid-row: 1;}
</style>
</head>
<body>
<header><h2>My dope site</h2>
</header>
<div id="content"><div id="bigMap"><div id="map"></div><div id="static"></div></div><div>Yeah, I'm gonna take my horse to the old town road. I'm gonna ride 'til I can't no more. I'm gonna take my horse to the old town road. I'm gonna ride 'til I can't no more (Kio, Kio). I got the horses in the back. Horse tack is attached. Hat is matte black. Got the boots that's black to match. Ridin' on a horse, ha. You can whip your Porsche. I been in the valley. You ain't been up off that porch, now. Can't nobody tell me nothin'. You can't tell me nothin'. Can't nobody tell me nothin'. You can't tell me nothin'. Ridin' on a tractor. Lean all in my bladder. Cheated on my baby. You can go and ask her. My life is a movie. Bull ridin' and boobies. Cowboy hat from Gucci. Wrangler on my booty. Can't nobody tell me nothin'. You can't tell me nothin'. Can't nobody tell me nothin'. You can't tell me nothin'. Yeah, I'm gonna take my horse to the old town road. I'm gonna ride 'til I can't no more. I'm gonna take my horse to the old town road. I'm gonna ride 'til I can't no more. I got the</div>
</div>
<script>mapboxgl.accessToken = 'pk.eyJ1IjoiZGFuc3dpY2siLCJhIjoiY2l1dTUzcmgxMDJ0djJ0b2VhY2sxNXBiMyJ9.25Qs4HNEkHubd4_Awbd8Og';var map = new mapboxgl.Map({container: 'map', // container idstyle: 'mapbox://styles/mapbox/streets-v11', // stylesheet locationcenter: [-85.757, 38.25], // starting position [lng, lat]zoom: 10 // starting zoom});map.on('load', function(e) {var mapContainerEl = document.getElementById('map');mapContainerEl.style.visibility = 'visible';});
</script></body>
</html>

一起来构建吧!

立即开始用 Static Images API 或 Static Tiles API !

英文文档:Static images/Static tiles

如果你想获得更多关于地图的内容教程,欢迎添加 Max(Mapbox_max) 加入开发者群。

欢迎您进入 Mapbo.cn 留下你的问题、建议、产品想法等,我们会在 1- 3 个工作日内回复你哦!

Mapbox​Mapbox.cn

echarts 不支持 手机 浏览器_最佳实践 | 地图加载慢,还不支持现有浏览器?巧用 Mapbox 静态地图!...相关推荐

  1. doodoo.js发布1.1.0 -- 中文最佳实践Node.js Web快速开发框架,支持Koa.js, Express.js中间件。包含多项功能改进,及Bug修复。...

    2019独角兽企业重金招聘Python工程师标准>>> doodoo.js发布1.1.0 -- 中文最佳实践Node.js Web快速开发框架,支持Koa.js, Express.j ...

  2. Web前端开发最佳实践(8):还没有给CSS样式排序?其实你可以更专业一些

    前言 CSS样式排序是指按照一定的规则排列CSS样式属性的定义,排序并不会影响CSS样式的功能和性能,只是让代码看起来更加整洁.CSS代码的逻辑性并不强,一般的开发者写CSS样式也很随意,所以如果不借 ...

  3. mysql异地灾备架构_最佳实践 数据库异地灾备

    方案概述 根据企业所在行业.合规要求.数据规模.RPO/RTO要求的不同,数据库灾备目的和要求各不相同,投入成本也是不同的.阿里云数据库灾备解决方案提供实时数据备份能力,满足企业备份多样化选择.通过数 ...

  4. 微软新浏览器_要超越Chrome?微软新发布的这款浏览器,有翻天覆地的变化!

    可爱的分割线 系统迷还记得,当年Edge浏览器刚发布的时候,真的是备受期待.可惜的是,由于其糟糕的体验,以及不完善的插件,最终让它变成了第二个IE.可能是出于无奈,微软选择放弃自家渲染引擎,改用Chr ...

  5. 苹果充电显示不支持此配件_为什么苹果手机数据线会经常出现“可能不支持此配件”...

    因为苹果流畅安全的IOS系统,因此很多人都喜欢使用苹果手机,但是金无足赤人无完人,苹果手机也有缺点.它的缺点就是数据线,相信很多人苹果手机没有使用多久,但是数据线就换了好几根了.还有就是有的时候出现& ...

  6. 热式气体质量流量计检定规程_最佳实践:热式质量流量计实际标定的安全性和准确性...

    流量计实际标定的重要性 所有流量计都不能想当然的进行标定.流量计可以配置最具有工业可靠性的传感器技术,生产为最高安全等级.性能最优.功能丰富的设备.但是如果流量计标定不准确,或者是因为等效标定.模拟标 ...

  7. plsql查看表空间_最佳实践—PG数据库系统表空间重建

    马晓亮中国PG分会认证专家金风科技DBA,恩墨学院PostgreSQL金牌讲师,从事10余年的数据库相关工作,对通讯信息化.电网安全改造有丰富经验,为公司主要产品的国产化技术转型做了很多工作,未来主要 ...

  8. python3.0下载用什么浏览器_无法让Python下载网页源代码:“不支持浏览器版本”...

    查看您列出的url,我执行了以下操作:使用wget下载了页面 将urllib与ipython一起使用并下载了页面 使用chrome,只保存了url 所有3个都给了我相同的结果文件(相同的大小,相同的内 ...

  9. lombok构造方法_最佳实践Lombok

    一.Lombok简介 Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码 二.Lombok插件安装(Idea) 在线 ...

最新文章

  1. 【Netty】Bootstrap引导
  2. java异常及日志注意事项
  3. linux内核网络协议栈--架构分析(十八)
  4. 关于mac机抓包的几点基础知识
  5. element ui table scrollTop 滚动到行头或行尾
  6. OPNET网络仿真分析-1.5、OPNET中英文对比
  7. 解决办法:Centos 7 SSH连接超时自动断开
  8. 三菱凌云3故障代码_三菱凌云III电梯通讯故障处理
  9. 去泰国,怎能错过这些零食!
  10. 【提升思维必看BiuBiu!】《批判性思维》01
  11. 第七章产品生命周期管理
  12. 神秘美女接机刘谦 曝刘谦女友酷似舒淇身家过亿
  13. Huilder连接Android逍遥模拟器
  14. 软考高项——【第一章-信息系统】超详细知识点
  15. Unity-VR | AR相关(更新中)
  16. 怎样成为一位程序员大佬
  17. Wordpress建站流程-最新手把手详细教程
  18. 邵雍·《渔樵问对》译文和原文
  19. 《如何阅读一本书》目录
  20. [Happy Coding] 加速Windows GUI debug版本的编译

热门文章

  1. 计算机的教学中作用是什么,发挥计算机在教学中应有的作用
  2. 扫地机器人返充原理_扫地机器人原理是什么?
  3. Qt::WindowModal和Qt::ApplicationModal的区别
  4. Android开发之跨进程通信-广播跨进程实现方法(附源码)
  5. 西部数据硬盘支持linux,西部数据开发新的Linux文件系统“Zonefs” 支持在分区块设备上运行...
  6. 使用dict和set
  7. 运维人员打字耍不要快_法考经验与教训 —— 打字
  8. 查数估获近千万元融资 ,用科技为金融赋能
  9. [BZOJ] 2064: 分裂
  10. 竞赛准备篇---(一)抽签问题