openlayers是最好的开源地图引擎,我们开发主要在地图上标记兴趣点,画区域,任意图形,运动轨迹等等。在ol地图上画东西其实非常简单,只需要按以下步骤执行

Point

point是一个ol坐标点,例如根据经纬度来转为ol对应的坐标

var lonLat = [114.158648, 22.284701];

var transPoint = ol.proj.fromLonLat(lonLat);

Feature

接下来要把point放到feature上面

var carMarker = new ol.Feature({

type: "icon",

geometry: new ol.geom.Point(transPoint)

})

每一个feature就是一个标志物,对标志物设置样式

var styles = {

// 笔画

'route': new ol.style.Style({

stroke: new ol.style.Stroke({

width: 6, color: [237, 212, 0, 0.8]

})

}),

// 图片icon

'icon': new ol.style.Style({

image: new ol.style.Icon({

anchor: [0.5, 1],

src: 'https://openlayers.org/en/v4.2.0/examples/data/icon.png'

})

}),

// 圆点

'geoMarker': new ol.style.Style({

image: new ol.style.Circle({

radius: 7,

snapToPixel: false,

fill: new ol.style.Fill({color: 'black'}),

stroke: new ol.style.Stroke({

color: 'white', width: 2

})

})

})

};

carMarker.setStyle(styles['icon']);

Source

上面新建一个标志物,然后需要放到对应的source里面,source.vector包裹这所有

var source = new ol.source.Vector({

features: [routeFeature, geoMarker, startMarker, endMarker]

})

layer

一个layer是用来展示可视化source的数据,所以我们把source放到layer里面,在这里可以动态为feature设置不同的样式

var vectorLayer = new ol.layer.Vector({

source: source,

style: function (feature) {

// hide geoMarker if animation is active

if (animating && feature.get('type') === 'geoMarker') {

return null;

}

return styles[feature.get('type')];

}

});

Map

最后把layer放到map上面,整个步骤下来就可以实现标志物的绘制了

var map = new ol.Map({

target: 'map',

layers: [

osmLayer, vectorLayer

],

view: new ol.View({

center: transPoint,

zoom: 16

})

});

openlayers 地图上加图标_openlayers地图添加标志物相关推荐

  1. openlayers 地图上加图标_openlayers添加地图标记

    html, body { width: 100%; height: 100%; margin: 0; } .map { width: 100%; height: 100%; background: # ...

  2. openlayers 地图上加图标_Openlayers 定位,添加自定义图标,点击图标弹框

    之前已经把地图展示出来,现在可以在地图上做相关操作. 首先定义一个位置图层,这样可以动态操作 import Feature from 'ol/Feature' import {Vector as Ve ...

  3. openlayers 地图上加图标_OpenLayers教程:地图标注

    地图标注是将空间位置点与该点的信息相关联,通过图标.文字等形式把点相关的信息展现到地图上. 随便打开一个电子地图就可以看到许多标注: 可以说地图没有了标注就丧失了一半信息,甚至是全部信息! 地图标注的 ...

  4. 超图js版本在地图上使用图标标记地理点

    效果: 项目结构: 代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ma ...

  5. Google earth engine(GEE)——在GEE地图上加载图表

    本次是加载一个折线图在地图上,主要是展现波段的平均值,重点是如何放在地图上,先看重点: ui.Chart.image.series(imageCollection, region, reducer,  ...

  6. 如何使用矢量图形数据导出可以在高德百度等互联网地图上加载的JSON格式数据

    本文以广东省行政区划为例介绍如何使用矢量图形数据导出可以在高德百度等互联网地图上加载的省级行政区划边界JSON数据. 第一步用GIS相关工具,如ArcGIS.MapGIS.QGIS等工具加载广东省域的 ...

  7. arcgis前端(2)----->基础篇--发布一个自定义地图及加载自定义地图/底图

    arcgis前端(2)----->基础篇–发布一个自定义地图及加载自定义地图/底图 文章目录 arcgis前端(2)----->基础篇--发布一个自定义地图及加载自定义地图/底图 前言 & ...

  8. OpenLayers 3 之 加载百度地图

    虽然百度地图有自己的 JavaScript API,但是有时候,一个项目已经用 OpenLayers 做了很多功能,不可能弃之不用,同时,又想使用百度地图,该怎么办呢?所以很多人想使用 OpenLay ...

  9. Google Earth Engine APP(GEE)——再地图上加载各种选择器

    本次我们尝试将GEE UI中的小组件进行加载,让其设定在特定的面板上,并且加载到地图上,先看一下我们最终成型的效果, 文中代码所使用到的函数: ui.Select(items, placeholder ...

最新文章

  1. 项目中常用的19条MySQL优化
  2. 解决IDEA中,maven依赖不自动补全的问题
  3. 【重庆】2021年下半年软考报考时间及通知
  4. Django(part13)--过滤器
  5. java循环一年月份天数和_javawhile循环编写输入某年某月某日,判断这一天是这一年的第几…...
  6. CentOS 7 使用iptables防火墙
  7. [转载] java常量池-字符串常量池、class常量池和运行时常量池
  8. python循环括号_Python3中小括号()、中括号[]、花括号{}的区别详解
  9. Android ListView 实现下拉刷新上拉加载
  10. visual studio code安装
  11. 数组越界也可以这么巧~~~
  12. Activiti6记录
  13. CentOS 配置DHCPv6
  14. 内存颗粒位宽和容量_内存颗粒有没有多与少的区别啊?或者说比较多的颗粒比少的颗粒好些?...
  15. idea dubug时查看某个常量报 no such static field “xxx”
  16. 供应链金融的三种业务模式
  17. 零死角玩转stm32初级篇5-流水灯的前后今生
  18. http协议相关内容,C/S与B/S,ip报文,TCP,UDP
  19. 记录我看的密码学方案中的技术,Shamir秘密共享,Schnorr零知识证明,EIGamal密码体制
  20. C语言中#和##的作用

热门文章

  1. 【论文阅读】7-Discovering Structural Regularity in 3D Geometry
  2. 【视频处理】模拟视频信号及其传输
  3. rest接口访问webService soap接口 用XStream javabean和xml的互转
  4. 关于电子科技大学成电讲坛类门票获取的调查报告
  5. uniapp分享到微信流程
  6. onHover(perform:) 悬停(SwiftUI 中文手册文档教程)
  7. USB SS-PHY Tuning
  8. java文件批量改名代码_[原创]JAVA版批量更名程序(附源码)(要求加分)
  9. 二阶常系数齐次线性微分方程的通解
  10. 167. 两数之和 II - 输入有序数组633. 平方数之和