全国地图钻取(openlayers6+高德地图api行政区划)

本文介绍了一种使用OpenLayers加载特定区域(如中国、陕西、西安)的本地数据及通过高德API获取其他区域数据的方法,并展示了如何实现点击切换不同级别的行政区。

1、用的是两种方式加载行政范围:全国、陕西、西安用的是本地数据,其他各区域用的是高德行政区划数据。
2、用高德的web服务——行政区划,需要先申请key,个人账户每天可调用3000次。
3、效果如下:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

西安市行政区划

4、完整代码。

<!--
 * @Author: yangxiunan
 * @Date: 2020-10-20 17:06:42
 * @LastEditTime: 2020-10-27 10:20:26
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \cesium-city3dd:\myCode\ol6\src\components\loadJson.vue
-->
<template>
<div class="box">
    <div id="map" class="map"></div>
    <div id="bread">
        <span v-for="item of breadData" :key = "item.code" @click="changeCity(item.code,item.level)">{
   
   {
   
   item.name}}</span>
    </div>
</div>
</template>
<script>
/* eslint-disable */
import $ from '@/assets/js/jquery-3.5.1.min.js';
import chinaData from '@/assets/data/china_outline.json';
import shanxiData from '@/assets/data/shanxi_outline.json';
import xianData from '@/assets/data/xian_outline.json';
import administrationData from "@/assets/data/administration.json"
import "ol/ol.css";
import Point from 'ol/geom/Point';
import Circle from "ol/geom/Circle";
import LineString from 'ol/geom/LineString';
import Polygon from 'ol/geom/Polygon';
import Feature from "ol/Feature";
import GeoJSON from "ol/format/GeoJSON";
import Map from "ol/Map";
import View from "ol/View";
import XYZ from 'ol/source/XYZ';
import {
   
    Circle as CircleStyle, Fill, Stroke, Style, Icon, Text} from "ol/style";
import {
   
    OSM, Vector as VectorSource } from "ol/source";
import {
   
    Tile as TileLayer, Vector as VectorLayer } from "ol/layer";
export default {
   
   
    data(){
   
   
        return {
   
   
            breadData:[
                {
   
   name:"中国",code:"100000",level:"country"},
            ]
        }
    },
    mounted() {
   
   
        this.vectorLayer = new VectorLayer({
   
   
            source: new VectorSource(),
        });
        var map = new Map({
   
   
            layers: [
                // new TileLayer({
   
   
				// 	source:new XYZ({
   
   
				// 		url: 'http://wprd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}'
                //     }),
				
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值