最近在使用openlayers开发离线地图,但是全英文的文档属实有点难顶,本文代码主要就是实现marker点位标记以及点击图标会显示弹窗,参考博客写的非常的详细也是我找到比较好的。
文中用到的瓦片地图是使用太乐下载器下载的,仅供参考
完整代码
在这里插入代码片
<template>
<div>
<div ref="olMap" id="map" class="ol-map"/>
<div id="popup" class="ol-popup">
<a href="#" id="popup-closer" class="ol-popup-closer"></a>
<div id="popup-content" class="popup-content"></div>
</div>
</div>
</template>
<script>
import 'ol/ol.css'
import TileLayer from 'ol/layer/Tile'
import VectorLayer from 'ol/layer/Vector'
import VectorSource from 'ol/source/Vector'
import XYZ from 'ol/source/XYZ'
import {Map, View, Feature} from 'ol'
import Overlay from 'ol/Overlay'
import {
Style,
Stroke,
Fill,
Icon,
Text
} from 'ol/style'
import {Point} from 'ol/geom'
import {Cluster} from 'ol/source'
import {fromLonLat} from 'ol/proj'
// import {toStringHDMS} from 'ol/coordinate'
export default {
name: 'defineMap',
data () {
return {
imgUrl: require('../../src/assets/pointer.png'),
map: null,
pointLayer: null,
diffLayer: null,
overlay: null,
clusterData:null,
}
},
mounted () {
this.init()
this.diffLayer = new Vec