Openlayers實(shí)現(xiàn)地圖的基本操作
本文實(shí)例為大家分享了Openlayers實(shí)現(xiàn)地圖基本操作的具體代碼,供大家參考,具體內(nèi)容如下
1、新建一個html頁面,引入ol.js和ol.css文件,然后在body中創(chuàng)建一個Div標(biāo)簽和4個Button按鈕,用來實(shí)現(xiàn)地圖的放大、縮小、平移等功能;
2、代碼實(shí)現(xiàn)
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src="../lib/ol/ol.js"></script> <link href="../css/ol.css" rel="stylesheet" /> <style type="text/css"> #menu { float : left; position : absolute; bottom : 10px; font-size : 20px; z-index : 2000; } </style> <script type="text/javascript"> window.onload = function () { //實(shí)例化map對象并加載地圖 var map = new ol.Map({ //存放地圖目標(biāo)容器 target: 'map', //加載圖層 layers: [ //新建一個瓦片地圖圖層 new ol.layer.Tile({ //瓦片地圖數(shù)據(jù)源 source: new ol.source.OSM() }) ], //初始化視圖 view: new ol.View({ //視圖中心點(diǎn)坐標(biāo) center: [12550000, 3680000], //縮放等級 zoom: 8, //最小縮放等級 minZoom: 6, //最大縮放等級 maxZoom: 12, //地圖旋轉(zhuǎn)30度 rotation: Math.PI/6 }) }); //獲取地圖的初始化信息 var view = map.getView(); var zoom = view.getZoom(); var center = view.getCenter(); var rotation = view.getRotation(); //地圖縮小 document.getElementById("zoom-out").onclick = function () { //獲取地圖當(dāng)前視圖 var view = map.getView(); //獲取地圖當(dāng)前縮放等級 var zoom = view.getZoom(); //每單擊一次地圖的縮放等級減一,以實(shí)現(xiàn)地圖縮小 view.setZoom(zoom - 1); }; //地圖放大 document.getElementById("zoom-in").onclick = function () { //獲取地圖當(dāng)前視圖 var view = map.getView(); //獲取地圖當(dāng)前縮放等級 var zoom = view.getZoom(); //每單擊一次地圖的縮放等級加一,以實(shí)現(xiàn)地圖放大 view.setZoom(zoom + 1); }; //地圖平移 document.getElementById("panto").onclick = function () { //獲取地圖當(dāng)前視圖 var view = map.getView(); //指定要平移到的位置的坐標(biāo) var position = ol.proj.fromLonLat([115.2341, 32.4652]); //重設(shè)地圖中心點(diǎn),實(shí)現(xiàn)平移 view.setCenter(position); }; //地圖重置 document.getElementById("restore").onclick = function () { //重置中心點(diǎn)位置為初始化位置 view.setCenter(center); //重置旋轉(zhuǎn)角度為初始化角度 view.setRotation(rotation); //重置縮放等級為初始化縮放等級 view.setZoom(zoom); }; } </script> </head> <body> <div id="map"> <div id="menu"> <button id="zoom-out">縮小</button> <button id="zoom-in">放大</button> <button id="panto">平移至...</button> <button id="restore">重置</button> </div> </div> </body> </html>
3、運(yùn)行結(jié)果
初始化界面
單擊縮小按鈕,實(shí)現(xiàn)地圖縮小
單擊放大按鈕,實(shí)現(xiàn)地圖放大
單擊平移至按鈕,地圖平移到指定的位置(阜陽附近)
單擊地圖右上角的箭頭按鈕,使地圖無旋轉(zhuǎn)
單擊重置按鈕,地圖回到初始狀態(tài)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Openlayers實(shí)現(xiàn)地圖全屏顯示
- Openlayers學(xué)習(xí)之地圖比例尺控件
- OpenLayers3實(shí)現(xiàn)地圖鷹眼以及地圖比例尺的添加
- OpenLayers3實(shí)現(xiàn)對地圖的基本操作
- OpenLayers3實(shí)現(xiàn)地圖顯示功能
- openlayers實(shí)現(xiàn)地圖彈窗
- openlayers實(shí)現(xiàn)地圖測距測面
- vue-openlayers實(shí)現(xiàn)地圖坐標(biāo)彈框效果
- 使用OpenLayers3 添加地圖鼠標(biāo)右鍵菜單
- Openlayers繪制地圖標(biāo)注
相關(guān)文章
如何判斷鼠標(biāo)是否在DIV的區(qū)域內(nèi)
通過mouseover,mouseout來觸發(fā)事件,才判斷鼠標(biāo)是否在該區(qū)域。 但是這種方法的局限性就是,必須要觸發(fā)mouseover,或mouseout,mouseleave事件才能知道2013-11-11js實(shí)現(xiàn)正則匹配中文標(biāo)點(diǎn)符號的方法
這篇文章主要介紹了js實(shí)現(xiàn)正則匹配中文標(biāo)點(diǎn)符號的方法,涉及JavaScript正則匹配與判定的簡單使用技巧,需要的朋友可以參考下2015-12-12javascript之典型高階函數(shù)應(yīng)用介紹二
在前一篇文章javascript之典型高階函數(shù)中主要實(shí)現(xiàn)了幾個典型的functional函數(shù),文章最后也提出了疑問,為啥那樣的實(shí)現(xiàn)與F#之類的函數(shù)式語言“不太一樣”呢?今天來試試更“函數(shù)式”的實(shí)現(xiàn)2013-01-01面試判斷元素是否在可視區(qū)域中IntersectionObserver詳解
這篇文章主要為大家介紹了判斷元素是否在可視區(qū)域中IntersectionObserver面試詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03