使用Openlayers 3 在地图增加天气预报
2016-03-02 15:24
330 查看
利用后台服务获取天气预报数据
说明:后台选取适合的后台程序返回JSON格式数据至前台展现,示例数据基本格式如下:[ { "SLEVEL": 2, "ID": 58614, "Y": 28.38, "X": 116.27, "DT": "2015-08-14 08:00", "PIC1": "Showers.png" }, { "SLEVEL":1, "ID": 58713, "Y": 27.72, "X": 117.07000000000001, "DT": "2015-08-14 08:00", "PIC1": "Thundershower.png" } ]
说明: 创建天气预报图层显现于地图之中,此处因需根地图层级来控制显示不同的图层,例如zoom大于10才显示县级预报等等…
//创建天气预报图层方法 var layerlv1, layerlv2; var CreateTQYB = function(obj) { var layerlv1arry1 = []; var layerlv1arry2 = []; var features = new Array(obj.length); for (i = 0; i < obj.length; i++) { var coordinates = ol.proj.fromLonLat([parseFloat(obj[i].X), parseFloat(obj[i].Y)]) var feature = new ol.Feature(new ol.geom.Point(coordinates)); //设置地图图标 feature.setStyle(iconstyle(obj[i].PIC1)); feature.id = obj[i].ID; feature.X = obj[i].X; feature.Y = obj[i].Y; /*此处可以设置feature的需要属性*/ if (obj[i].SLEVEL == "1") { layerlv1arry1.push(feature) } else { layerlv1arry2.push(feature) } } //建立市级图层 layerlv1 = new ol.layer.Vector({ source: new ol.source.Vector({ features: layerlv1arry1 }) }); map.addLayer(layerlv1) //建立县级图层 layerlv2 = new ol.layer.Vector({ source: new ol.source.Vector({ features: layerlv1arry2 }) }); map.addLayer(layerlv2) //县级图层默认不可见 layerlv2.setVisible(false); }
说明:创建地图Icon的函数方法
var iconstyle = function(iconmc) { return new ol.style.Style({ image: new ol.style.Icon({ src: "img/icon/" + iconmc }) }); }
效果图如下:
其他说明:
1、Feature点击弹出层事件,在map上利用openlayers 3 的 ol.Overlay建立一个层,然后在map绑定click事件,设置overlay图层的内容呈现,图层内容数据来源于Feature所设定的值。
2、预报层级的控制,在map绑定mousewheel事件来实现zoom层级控制级别图层的呈现。
相关文章推荐
- some new eigrp feature
- 百度地图经纬度转换到腾讯地图/Google 对应的经纬度
- 基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
- 在Google 地图上实现做的标记相连接
- PHP计算百度地图两个GPS坐标之间距离的方法
- sogou地图API用法实例教程
- 使用OpenLayers3 添加地图鼠标右键菜单
- 自学习 与 无监督特征学习
- gps各种地图坐标系转换
- [IOS地图开发系类]1、CLLocationManager 位置定位
- [IOS地图开发系类]2、位置解码CLGeocoder
- [IOS地图开发系类]3、地图视图MKMapview
- [IOS地图开发系类]4、MKMapview上添加MKAnnotationView,标记当前位置
- [IOS地图开发系类]5、改变大头针MKPinAnnotationView的颜色
- 魔兽地图修改器
- 国家测绘局副局长解释什么是“问题地图”ぁ
- 地图 点聚合
- flow对性能的影响
- flow 高级feature (BGP_AS TCP_FLAG MPLS_AWARE
- asp.net地理统计图表控件