最近出了好幾個小程序能夠查看你周邊地區當前疫情確診人數的狀況,就好比下面這種的:javascript
這張圖對於身爲小白的咱們可不能夠本身作一個呢?css
答案固然是確定的,這裏面涉及到的技術點就是地圖上的那些點是如何標記出來的。html
這裏的地圖咱們使用騰訊地圖來實現,首先進入到騰訊位置服務的首頁( https://lbs.qq.com/index.html ),進行登陸操做,用 QQ 也好微信也好,反正先登陸上去。java
而後在控制檯中新建一個 key ,這個 key 是專屬於你一我的使用的,因此千萬不要外傳哦~~~編程
這裏咱們新建一個專門用於本次疫情地圖的 key ,名稱輸入完成後,再輸入驗證碼點擊提交便可,這時會彈出來了一個讓你去設置 key 的提示。小程序
這裏咱們就得到了本身的 key (小編已刪除此 key ,請不要直接使用小編所建立的 key),點擊設置進入設置頁面:segmentfault
能夠看到,這裏能夠設置這個 key 所應用的茶品,默認是 JavaScriptAPI ,咱們還能夠在微信小程序、APP、或者 WebServiceAPI(服務器調用) 中使用。微信小程序
這裏其實不須要多餘的設置,直接點擊保存便可。咱們本次示例所使用到的功能都是最基礎的功能。api
key 設置完成後咱們看一下騰訊地圖的 API ,這裏主要是看 JavaScript API ,連接:https://lbs.qq.com/javascript... 。服務器
咱們本次要用到的功能是覆蓋物,其餘的感興趣的同窗能夠看一看,不感興趣的同窗能夠直接略過,點開覆蓋物查看今天的正題。
直接看代碼好沒意思,點擊查看示例,能夠一邊看示例,一邊看代碼,順手改改,看看能不能正常運行。
點擊查看示例之後,就變成下面這個樣子了:
這裏能夠看到他的中心點是在北京,其實是由這段代碼來指定的:
var center = new qq.maps.LatLng(39.916527,116.397128); var map = new qq.maps.Map(document.getElementById('container'),{ center: center, zoom: 13 });
若是小編這裏要改爲上海的話只須要修改這裏的座標值便可,那麼上海的座標值我能去哪裏查找呢?
別急,這裏就要說到今天會用到的另外一個功能點,座標拾取器,騰訊也提供了這樣的服務,連接爲:https://lbs.qq.com/tool/getpo... ,他是長這個樣子的:
好比小編這裏將地圖的中心點改爲人民廣場地鐵站,那麼直接將上面的座標 Copy 出來,放在剛纔的代碼中再執行一下,就能夠看到當前的地圖中心點編程了人民廣場。
那麼,接下來的事情就好辦了,咱們只須要知道附近的疫情的數據,將這些有疫情的區域全都標記在地圖上就行了,小編這裏就不查真實的疫情狀況了,隨便在地圖上取幾個點作演示。
結果就變成了這樣:
接下來問題來了,咱們看到的地圖上的標記好像圖形和這個不同嘛,這個長得也有點忒醜了點,固然,騰訊地圖給咱們提供的 API 一樣支持自定義的 icon ,示例以下:
emmmmmmmmmmm,手頭沒有找到好看一點的 icon ,隨便找了一張代替,你們理解到位就好。
只要咱們替換上合適的 icon ,就能夠作出和文章最前面那個小程序同樣漂亮的疫情地圖了。
最後的沒有替換 icon 的代碼小編仍是順手貼一下吧:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>疫情地圖</title> <script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=你的key"></script> <style type="text/css"> *{ margin:0px; padding:0px; } body, button, input, select, textarea { font: 12px/16px Verdana, Helvetica, Arial, sans-serif; } #info{ width:603px; padding-top:3px; overflow:hidden; } .btn{ width:112px; } #container{ min-width:600px; min-height:767px; } </style> <script> var init = function() { var center = new qq.maps.LatLng(31.232708,121.475537); var map = new qq.maps.Map(document.getElementById('container'),{ center: center, zoom: 13 }); //建立marker var marker = new qq.maps.Marker({ position: new qq.maps.LatLng(31.232105,121.481667), map: map }); //建立marker var marker = new qq.maps.Marker({ position: new qq.maps.LatLng(31.235114,121.471281), map: map }); //建立marker var marker = new qq.maps.Marker({ position: new qq.maps.LatLng(31.227261,121.480465), map: map }); //建立marker var marker = new qq.maps.Marker({ position: new qq.maps.LatLng(31.226821,121.471796), map: map }); //建立marker var marker = new qq.maps.Marker({ position: new qq.maps.LatLng(31.216545,121.467419), map: map }); //建立marker var marker = new qq.maps.Marker({ position: new qq.maps.LatLng(31.216839,121.480808), map: map }); //建立marker var marker = new qq.maps.Marker({ position: new qq.maps.LatLng(31.218454,121.492825), map: map }); } </script> </head> <body onload="init()"> <div id="container"></div> </body> </html>
這裏只須要替換一個可用的 key 便可使用。
到這裏,你能夠把全部已經有確診患者小區的經緯度獲取到,而後所有標註到地圖上,天天對標註進行實時更新,這樣就製做成了一張防疫地圖了,有興趣的同窗能夠本身去嘗試嘗試。
實際上騰訊地圖上還有不少很好玩的同時也很炫酷的功能,如如下圖形:
你們能夠本身去探索。
若是個人文章對您有幫助,請掃碼關注下做者的公衆號:獲取最新干貨推送:)