vue 地图可视化 maptalks 篇

Maptalks 项目是一个 HTML5 的地图引擎, 基于原生 ES6 Javascript 开发:

- 二三维一体化地图, 通过二维地图的旋转 /倾斜增加三维视角
- 插件化设计, 能与其他图形库结合, 开发各种二三维效果, 例如 echarts/d3/THREE 等
- 很认真的优化了绘制性能
- 很重视测试, 有接近 1.5K 个单元测试用例, 所以稳定性还不错, 已经应用在很多大大小小的系统上了

上面是一段 maptalks 官方介绍,下面来创建工程。首先利用 vue-cli3 搭建一个 SPA 项目,然后写一段 maptalks 的 HELLO WORLD。如果对 vue 项目的创建比较熟悉,可以跳过步骤一,直接看步骤二

一、创建工程

vue create vue-maptalks

进入工程配置页面

选择 Manually select features

选择 Babel、Router、Vuex、CSS Pre-processors、Linter / Formatter

输入 n

选择 sass/scss

选择 ESLint + Airbnb config

选择 Lint on save

选择 In dedicated config files

输入 y,保存本次设置为模版,下次创建项目直接选择本次保留的模板。

输入保存的模板名字,进入项目初始化构建,等待构建完成。

完成后,打开浏览,输入 http://localhost:8080/

工程创建完成。

二、HELLO WORLD

安装 maptalks

yarn add maptalks

删除 src/App.vue,新建 App.vue,输入如下代码

 1 <template>
 2   <div id="map" class="container"></div>
 3 </template>
 4 <script>
 5 import ‘maptalks/dist/maptalks.css‘;
 6 import * as maptalks from ‘maptalks‘;
 7
 8 export default {
 9   mounted() {
10     this.$nextTick(() => {
11       const map = new maptalks.Map(‘map‘, {
12         center: [-0.113049, 51.498568],
13         zoom: 14,
14         baseLayer: new maptalks.TileLayer(‘base‘, {
15           urlTemplate: ‘http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png‘,
16           subdomains: [‘a‘, ‘b‘, ‘c‘, ‘d‘],
17           attribution: ‘&copy; <a href="http://osm.org">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/">CARTO</a>‘,
18         }),
19       });
20       console.log(‘map: ‘, map);
21     });
22   },
23 };
24 </script>
25
26 <style lang="scss">
27 html,body{ margin:0px;height:100%;width:100%; }
28 .container{ width:100%;height:100% }
29 </style>
 地图初始化,应写在 nextTick 函数中,以保证挂载点 #map 先于地图渲染。

效果如下:

原文地址:https://www.cnblogs.com/lifefriend/p/10896321.html

时间: 2024-10-10 10:08:45

vue 地图可视化 maptalks 篇的相关文章

vue地图可视化 ArcGIS篇

ArcGIS for javascript开发心得 本次实例中采用ArcGIS for javascript3.24版本,由于版本3与4在API等存在较大区别,就不一一列举,详细区别看官方解释arcgis for js4.7版本能够自动创建layer.graphs等类,而不像3.24版本需要在图形渲染前重新new 新的类.然而,查找大量文件资料,网上有关ArcGIS forjavascript的资料甚少,更不用说通过vueJS+arcGIS开发出一套可视化平台,在不断查看官方文档和实际操作,总结

react 地图可视化 cesium 篇

Vue Function-based API RFC 一出来,感觉 vue 越来越像 react 了.新立项目,决定尝试下 react.js.下面是 react 集成 cesium,核心部分是 webpack 的配置. 一.安装 create-react-app npm install -g create-react-app 二.react 工程创建 create-react-app cesium-react 三.cesium 安装 npm install cesium --save 四.cop

100行代码实现疫情地图可视化

前言 这个春节,大家都在密切关注着疫情的进展.不少人每天醒来打开手机的第一件事,便是查看家乡的疫情图.你所看到的可能是这样的: 又或者是这样的: 疫情进展牵动着我们的心.作为一名开发者,我们闭门在家为抗击疫情做贡献的同时,也可以继续深耕自己的技术.此文章旨在向大家介绍疫情地图可视化的原理,帮助大家深入理解echart. 核心思路 疫情图的核心在于疫情数据整理以及疫情数据可视化. 疫情数据整理 本文疫情数据是由网易新闻的公开数据整理而成,仅用于demo 展示.数据的具体地址已在代码中说明:此地址是

Vue学习笔记入门篇——组件的使用

本文为转载,原文:Vue学习笔记入门篇--组件的使用 组件定义 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展. 组件使用 注册 注册一个全局组件,你可以使用 Vue.component(tagName, options).组件在注册之后,便可以在父实例的模块中以自定义元素 的形式使用.

Vue学习笔记入门篇——组件的内容分发(slot)

本文为转载,原文:Vue学习笔记入门篇--组件的内容分发(slot) 介绍 为了让组件可以组合,我们需要一种方式来混合父组件的内容与子组件自己的模板.这个过程被称为 内容分发 (或 "transclusion" 如果你熟悉 Angular).Vue.js 实现了一个内容分发 API,使用特殊的 'slot' 元素作为原始内容的插槽. 编译作用域 在深入内容分发 API 之前,我们先明确内容在哪个作用域里编译.假定模板为: <child-component> {{ messa

包学会之浅入浅出Vue.js:升学篇

上一篇<包学会之浅入浅出Vue.js:开学篇>中,我们初步了解单页面组件这个概念,现在通过一个项目,来进一步解析组件的应用吧,Go~ 需求背景 组件库是做UI和前端日常需求中经常用到的,把一个按钮,导航,列表之类的元素封装起来,方便日常使用,调用方法只需直接写上<qui-button></qui-button>或者<qui-nav></qui-nav>这样的代码就可以,是不是很方便呢,接下来我们将要完成以下页面: 这是我们组件库的首页,包含三个子

Vue学习笔记入门篇——组件的通讯

本文为转载,原文:Vue学习笔记入门篇--组件的通讯 组件意味着协同工作,通常父子组件会是这样的关系:组件 A 在它的模版中使用了组件 B.它们之间必然需要相互通信:父组件要给子组件传递数据,子组件需要将它内部发生的事情告知给父组件.然而,在一个良好定义的接口中尽可能将父子组件解耦是很重要的.这保证了每个组件可以在相对隔离的环境中书写和理解,也大幅提高了组件的可维护性和可重用性.在 Vue 中,父子组件的关系可以总结为 props down, events up.父组件通过 props 向下传递

包学会之浅入浅出Vue.js:结业篇

在第一篇<包学会之浅入浅出Vue.js:开学篇>和上一篇<包学会之浅入浅出Vue.js:升学篇>的学习中,我们首先了解了Vue环境的搭建以及两个重要思想--路由和组件的学习,通过组件库中的按钮组件和导航组件,相信大家也开始了解相应的知识点,接下来我们会详细分析下如何完成由多个组件组成一个复用组件的开发流程. 下面先看看我们的需求 列表组件quiList.vue 本节我们主要要完成这样一个列表功能,每一行的列表是一个组件,列表内可能出现按钮组件或者箭头组件,点击按钮组件可以自定义事件

Vue学习笔记进阶篇——Render函数

本文为转载,原文:Vue学习笔记进阶篇--Render函数 基础 Vue 推荐在绝大多数情况下使用 template 来创建你的 HTML.然而在一些场景中,你真的需要 JavaScript 的完全编程的能力,这就是 render 函数,它比 template 更接近编译器. <h1> <a name="hello-world" href="#hello-world"> Hello world! </a> </h1>