许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  [leaflet] 1 esri-leaflet:入门教程与使用示例

[leaflet] 1 esri-leaflet:入门教程与使用示例

阅读数 15
点赞 0
article_banner

esri-leaflet

esri为WebGiS开发提供dojo与leaflet两种API
官网 : http://www.esri.com/
githubhttp://esri.github.io/

leaflet是轻量级的地图JS开源框架

   相比dojo,leaflet更轻,也更好与 jQuery  框架一起使用
官网: http://leafletjs.com/

esri-leaflet是esri针对leaflet给出的WebGIS接口
官网: http://esri.github.io/esri-leaflet/
github: https://github.com/Esri/esri-leaflet

idea引进leaflet代码提示

  1. 下载leaflet框架JS文件:leaflet.js
  2. 打开idea设置

        File–>Setting–>Languages&Frameworks–>JavaScript–>Libraries
    打开setting
    添加语言框架
  3. 添加JS文件
    添加JS文件
  4. 应用
    应用
  5. 结果
    成果导入

HelloWorld

使用本地 脚本

下载脚本

esri-leaflet: https://github.com/Esri/esri-leaflet/releases/tag/v1.0.0

   leaflet原生脚本: https://github.com/Esri/esri-leaflet/releases/tag/v1.0.0

加载脚本

<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- 加载leaflet-->
<link rel="stylesheet" href="leaflet/leaflet.css" />
<script src="leaflet/leaflet.js"></script>
<script src="esri/esri-leaflet.js"></script>

使用cdn服务

<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<!-- Load Leaflet from CDN-->
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.1.0/dist/leaflet.css"
    integrity="sha512-wcw6ts8Anuw10Mzh9Ytw4pylW8+NAD4ch3lqm9lzAsTxg0GFeJgoAtxuCLREZSC5lUXdVyo/7yfsqFjQ4S+aKw=="
    crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.1.0/dist/leaflet.js"
    integrity="sha512-mNqn2Wg7tSToJhvHcqfzLMU6J4mkOImSPTxVZAdo+lcPlk+GhZmYgACEe0x35K7YzW1zJ7XyJV/TT1MrdXvMcA=="
    crossorigin=""></script>
<!-- Load Esri Leaflet from CDN -->
<script src="https://unpkg.com/esri-leaflet@2.1.0/dist/esri-leaflet.js"
    integrity="sha512-Tojl3UMd387f6DdAJlo+fKfJZiP55fYT+6Y58yKbHydnueOdSFOxrgLPuUxm7VW1szEt3hZVwv3V2sSUCuT35w=="
    crossorigin=""></script>

编写body

body里写一个div用来存放地图

<div id="map"></div>

创建地图

<script language="Javascript">
    var map = L.map('map').setView([39, -97.5], 4);
    L.esri.basemapLayer('Streets').addTo(map);
</script>

L.:leaflet大部分语法都是 L. 开头
setView():指定初始化位置 与 地图级别
L.esri.basemapLayer(“Topographic”).addTo(map);:使用basemapLayer方法去加载 ArcGIS   Online上的Topographic地图,并将其加到map上

   设置页面加载时适应不通过分辨率的屏幕,其地图区域的高度设置

完整代码与结果

<html>
<head>
  <meta charset=utf-8 />
  <title>Showing an ArcGIS basemap</title>
  <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>	
  <!--通过cdn加载leaflet-->
  <link rel="stylesheet" href="https://unpkg.com/leaflet@1.1.0/dist/leaflet.css"
    integrity="sha512-wcw6ts8Anuw10Mzh9Ytw4pylW8+NAD4ch3lqm9lzAsTxg0GFeJgoAtxuCLREZSC5lUXdVyo/7yfsqFjQ4S+aKw=="
    crossorigin=""/>
  <script src="https://unpkg.com/leaflet@1.1.0/dist/leaflet.js"
    integrity="sha512-mNqn2Wg7tSToJhvHcqfzLMU6J4mkOImSPTxVZAdo+lcPlk+GhZmYgACEe0x35K7YzW1zJ7XyJV/TT1MrdXvMcA=="
    crossorigin=""></script>
  <!--使用cdn加载esri-leaflet -->
  <script src="https://unpkg.com/esri-leaflet@2.1.0/dist/esri-leaflet.js"
    integrity="sha512-Tojl3UMd387f6DdAJlo+fKfJZiP55fYT+6Y58yKbHydnueOdSFOxrgLPuUxm7VW1szEt3hZVwv3V2sSUCuT35w=="
    crossorigin=""></script>
  <style>
    body { margin:0; padding:0; }
    #map { position: absolute; top:0; bottom:0; right:0; left:0; }
  </style>
</head>
<body>

    <div id="map"></div>

<script>
    var map = L.map('map').setView([39, -97.5], 4); //[纬度,经度]
    L.esri.basemapLayer('Streets').addTo(map);
</script>

</body>
</html>

天地图作为底图

天地图优势:国家级测绘数据

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.3/dist/leaflet.css" />
    <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
    <script src="https://unpkg.com/leaflet@1.0.3/dist/leaflet.js"></script>
  </head>
  <body>
    <div id="map" style="width: 1000px;height: 700px;"></div>
  </body>

  <script>
        $(function(){
            var map = L.map('map', {
                center: [40, 100],
                zoom: 4
            });
            // 影像
            L.tileLayer("http://t{s}.tianditu.cn/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={z}&TileRow={y}&TileCol={x}&style=default&format=tiles", {
                subdomains: ["0", "1", "2", "3", "4", "5", "6", "7"]
            }).addTo(map);
            // 地名标注
            L.tileLayer("http://t{s}.tianditu.cn/cia_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=w&TileMatrix={z}&TileRow={y}&TileCol={x}&style=default&format=tiles", {
                subdomains: ["0", "1", "2", "3", "4", "5", "6", "7"]
            }).addTo(map);
            // 边界
            L.tileLayer("http://t{s}.tianditu.cn/ibo_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=ibo&tileMatrixSet=w&TileMatrix={z}&TileRow={y}&TileCol={x}&style=default&format=tiles", {
                subdomains: ["0", "1", "2", "3", "4", "5", "6", "7"]
            }).addTo(map);
        });
    </script>
</html>



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空