三、openlayers官网示例Advanced View Positioning解析——根据地图上的矢量地块定位

这篇主要讲的是如何根据地图上的矢量地块定位

首先,mounted里面加载一个底图到地图上。

const view = new View({
      projection: "EPSG:4326",
      center: [116.389, 39.903],
      zoom: 7,
    });
this.map = new Map({
      layers: [
      new TileLayer({
        source: new XYZ({
        url: "http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png",
       }),
      })],
      target: "map",
      view: view,
 });

接下来我们来加载矢量的地块了,官网示例里引入的是它自己写的一个switzerland.geojson文件

里面有多边形,圆形,下载源码可能可以找到这个json。咱懒得找,直接找个地区的地块替代一下就好。

打开这个网址,可以获取各大地区的geojson文件。它提供了几种访问方式,可以通过网址在线获取,也可以直接把文件下下来放到项目里引用。

DataV.GeoAtlas地理小工具系列

咱们点到北京市,直接复制在线地址。

methods里面写一个方法addRegionLayer,定义一个矢量的source,把url写成我们刚刚复制的地址。110000表示的就是北京市,如果选择别的城市会发现编码不一样,其他都一样。

format属性是一个实例化的 GeoJSON 类。它告诉 OpenLayers 如何解析加载的数据。在这里,通过 new GeoJSON() 创建了一个 GeoJSON 格式解析器,这样 OpenLayers 就知道加载的数据是以 GeoJSON 格式编码的。(简单理解:固定写法,source里只要写了url,format就得写。加载geojson数据类型的矢量数据源时format就是 new GeoJSON()

addRegion
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值