openlayer 简单实用
来源:互联网 发布:南风知我意七微全文 编辑:程序博客网 时间:2024/06/05 22:53
做web地图的一个功能,之前用的arcgis,今天同事推荐了openlayer v4.x。简单记录一下。
用法大致跟arcgis差不多,感觉api没有arcgis的方便好用。
代码:
引入css js
<link rel="stylesheet" href="css/ol.css" type="text/css"><script src="js/jquery-1.9.1.min.js" type="text/javascript"></script><script src="js/ol.js" type="text/javascript"></script>
页面内容
<input type="text" id="lon" name="" value="116.784172"><input type="text" id="lat" name="" value="35.930695"><input type="button" name="" value="locate" onclick="locate()"><div id="map" class="map"></div>
初始化地图
var map = new ol.Map({ target: 'map', layers: [ new ol.layer.Tile({ source: new ol.source.OSM() }) ], view: new ol.View({ center: ol.proj.fromLonLat([116.412253,39.90923]), zoom: 8 })});
添加鼠标点击事件
map.addEventListener("click", function(e) { console.log(e); var cord = e.coordinate; var pos = ol.proj.transform(cord, 'EPSG:3857', 'EPSG:4326'); alert("lon = "+pos[0]+" \nlat = "+pos[1]);});
根据经纬度定位(应该还有其他定位fun?大神指点)
function locate(){ var cord = [$("#lon").val()*1,$("#lat").val()*1]; map.setView(new ol.View({ center: ol.proj.fromLonLat(cord), zoom: 8 })); var pos = ol.proj.transform(cord, 'EPSG:4326', 'EPSG:3857'); addMarker(pos);}
最后添加一个标注
function addMarker(cord) { var markerFeature = new ol.Feature({ geometry: new ol.geom.Point(cord) }); var markerStyle = new ol.style.Style({ image: new ol.style.Icon(({ anchor: [0.5,1], src: 'image/pointer.png' })) }); markerStyle.getImage().setScale(0.3); markerFeature.setStyle(markerStyle); var vectorSource = new ol.source.Vector({ features: [markerFeature] }); var vectorLayer = new ol.layer.Vector({ source: vectorSource }); map.addLayer(vectorLayer); }
阅读全文
0 0
- openlayer 简单实用
- OpenLayer
- OpenLayer
- 简单实用
- geoserver+openlayer
- openlayer label
- OpenLayer(Layer2)
- OpenLayer(OSM)
- openlayer常见问题
- OpenLayer提纲
- Openlayer总结
- openlayer初识
- openlayer朝花夕拾
- 简单实用计算器
- 简单实用的bugfree
- NUNIT简单实用
- lvm简单实用
- ongl简单实用(转)
- jstack简单使用,定位死循环、线程阻塞、死锁等问题
- android:一行代码实现沉浸式布局效果
- 清空缓存
- linux把home多余的空间转到root中
- U盘安装Linux系统
- openlayer 简单实用
- Python 字符串格式化
- HDFS NameNode内存全景
- C++ 标准模板库中的排序
- 话说C语言const用法
- nodejs 下载网络文件 使用request
- 基于OkHttp3封装网络请求框架
- 欢迎使用CSDN-markdown编辑器
- UEditor编辑器的一些使用心得