精华内容
下载资源
问答
  • 地图服务有哪些用途?如何开始创建地图服务?为什么要使用地图服务服务准备制作和发布操作数据源和制作方式2.2、发布服务2.2.1 发布的方式 前面我们知道arcgis server都有那些服务以及这些服务是干什么的,有什么用...

    前面我们知道arcgis server都有那些服务以及这些服务是干什么的,有什么用,具体参考:
    arcgis server的各种服务类型简要介绍
    下面,我就以这个顺序来介绍一下:地图服务:发布和使用ArcGIS Server 服务之–地图服务(Mapserver)
    要素服务:发布和使用 ArcGIS Server 服务之–要素服务(feature server)
    影像服务:发布和使用 ArcGIS Server 服务之–影像服务(image server)
    OGC 服务:发布和使用 ArcGIS Server 服务之–OGC服务(WMS/WMTS/WFS/WCS/WPS)
    缓存服务:发布和使用 ArcGIS Server 服务之–缓存服务(TileServer)(一)
    缓存服务:管理和迁移ArcGIS Server服务和缓存服务(TileServer)(二)
    地理处理服务、矢量切片服务、场景服务
    、地理数据服务、以及几何服务、KML 服务、地理编码服务、定位器Maritime Server、路径服务、Schematics 服务、流服务、公共设施网络服务、Workflow Manager 服务等;等,以及如何使用JS调用这些服务。

    1.什么是地图服务?

    地图服务是一种利用 ArcGIS 使地图可通过 Web 进行访问的方法。

    您首先在 ArcMap 中制作地图,然后将地图作为服务发布到 ArcGIS Server 站点上之后,Internet 或 Intranet 用户便可在 web 应用程序、ArcGIS Desktop、ArcGIS Online 以及其他客户端应用程序中使用此地图服务。

    1.1地图服务的数据源和支持方式

    1)支持以下数据源:

    数据库(请参阅ArcGIS 数据库管理系统要求,以获得支持的数据库和空间数据类型的列表)
    通过 OLE DB 连接文件 (.odc) 访问的数据库
    文件地理数据库
    企业级和工作组级地理数据库
    NetCDF 文件
    网络数据集
    插件式自定义数据类型
    栅格
    SDC 文件
    Shapefile
    文本文件
    追踪数据源

    这里大家可以打开,在我们发布地图服务的时候,数据源可以是多种多种类型的,所以地图服务也是我们最常用的服务。

    2)图层符号系统

    可用的图层符号系统选项如下:

    图表/点密度/分级色彩/分级符号/比例符号/制图表达(建议仅在缓存地图中使用)/单一符号/唯一值/标注

    3)支持的图层类型如下图层类型

    注记图层/尺寸图层/要素图层/基于文件的栅格目录图层/地理数据库栅格目录图层/地统计图层/图层组/镶嵌图层/网络分析图层/宗地结构图层/查询图层/栅格图层/逻辑示意图图层/Terrain 图层/TIN 图层/追踪图层/XY 事件图层/路径事件图层/动态图层/动态图层允许客户端动态更改地图服务中的图层外观和行为。

    4)使用动态图层可以完成以下操作:

    从动态工作空间向地图添加新图层。
    定义绘制图层标注的方式。
    定义图层符号系统(简单的、唯一值、分类间隔)。
    定义地图中图层的位置和顺序
    修改与现有图层/表的连接。
    从地图中移除现有图层。
    向现有图层/表添加连接,或从动态工作空间添加图层/表。
    即使切片缓存可用,也强制服务器执行动态绘制。
    REST 客户端、COM 客户端和非 Esri SOAP 客户端支持动态图层。可作为

    5)动态工作空间注册的数据源包括:

    数据库(仅查询图层)/文件地理数据库(仅要素图层、栅格图层和表)
    包含基于文件的栅格的文件夹/包含 shapefile 或 .dbf 文件的文件夹/地理数据库(仅要素图层、栅格图层、查询图层和表)/栅格符号系统/大部分栅格符号系统可用。栅格全色锐化过滤器也可用。不支持动态绘制山体阴影。

    6)符号
    大多数 2D 符号均可用,但不支持 3D 符号。可用的符号如下:

    箭头标记符号/制图线符号/字符标记符号/渐变填充符号/混列线符号/线填充符号/标记填充符号/标记线状符号/多图层填充符号/多图层线状符号/多图层标记符号/图片线状符号/图片填充符号/图片标记符号/简单填充符号/简单线符号/简单标记符号/文本符号
    虽然建议仅在缓存地图中将制图表达与地图服务配合使用,但仍支持制图表达规则。

    7)其他可用的功能包括:

    所有色带类型/所有颜色类型/所有数字格式/书签/注释/定义查询/查询表达式
    注:
    定义查询/查询表达式无法通过地图服务以编程方式修改。如果需要修改地图服务中指定的查询,则需要打开原始地图文档,更新查询,并覆盖地图服务。有关完整说明,请参阅在 ArcGIS Desktop 中覆盖服务。

    HTML 弹出窗口/超链接/图例/地图提示/独立表/页面布局和显示表达式不可用。只能通过此服务的 Web 服务描述语言 (WSDL) 使用比例尺。

    上述的这些,就需要我们自己在制作数据的时候,在arcmap或者arcgis Pro中对其进行符号化,配图,标注,注记等操作了。

    1.2如何开始创建地图服务?

    所有地图服务均需要首先在 ArcMap /ArcGIS Pro中创建相应的地图。

    arcmap中是:
    地图创建完成后如果准备与其他用户共享,请从主菜单中选择
    文件 > 共享为 > 服务 > 发布服务

    在这里插入图片描述

    arcgis Pro中需要我们在需要发布的数据上面右键–共享为web图层:
    在这里插入图片描述

    共享为服务 对话框中的选项可帮助您将地图共享为服务。

    1.3为什么要使用地图服务

    通过地图服务,地图、要素和属性数据可在多种类型的客户端应用程序中使用。

    地图服务的一种常见应用是在 ArcGIS Online、Bing Maps 或 Google Maps 中的底图切片上方显示商业数据。

    对于同一地图服务,可同时由多个用户分别在 ArcMap 中、Web 应用程序中、ArcGIS Online 中和移动应用程序中使用。

    以下是建立地图服务的一些常见理由。

    1) 提供动态地图

    动态地图会在用户发出请求时进行绘制。动态地图的速度不及缓存地图,但它们可适用于高关注度的 intranet 应用程序以及需要实时显示数据的应用程序。

    2) 提供动态图层

    地图服务具有内置功能,允许客户端(如 ArcGIS Web APIs)动态更改每个图层的行为和外观。这些动态图层可有效增加用户与 Web 地图的交互量。

    3) 提供缓存地图

    缓存地图服务(使用一组预创建图像的服务)是在 Web 上提供地图的最快捷的方式。这也是 ArcGIS Online、Google 地图、Bing 地图和其他许多服务显示地图的方式。

    地图缓存不会自动创建;而需要在发布服务后手动创建缓存。

    4) 提供要素

    地图服务并不总是需要显示图像。建立地图服务的目的还可以是在应用程序中返回一组要使用的要素。您可以通过添加至应用程序中的任务来检索这些要素。

    如果您希望建立一个地图服务来提供要素,应确保可进行“查询”和“数据”操作。

    5) 提供网络分析功能

    您可建立地图服务以基于服务器执行网络分析。如果您的地图文档中包含网络分析图层,则您在发布该服务时将会看到可启用的“网络分析”功能。

    然后,您便可以在使用 ArcGIS Server 开发应用程序时执行网络分析操作。您可在地图文档中设置分析的默认属性,例如设施点和障碍。

    6) 通过 KML 提供地图或要素

    KML 是一种基于 XML 的开放式结构来表示地理数据和地图的方式。KML 通常在地理浏览器应用程序(例如 ArcGIS Earth)中用来显示地图叠加或要素,其属性有时会显示在信息性弹出窗口中。默认情况下,所有地图服务都能够返回 KML。

    7) 通过 OGC 规范提供图像、要素或栅格

    开放地理空间联盟发布了在 Web 上提供地图图像 (WMS)、矢量要素 (WFS)、栅格数据集 (WCS) 和 Web 地图切片 (WMTS) 的规范。

    一些组织规定其地理数据和地图必须通过这种方式提供。地图服务可以配置为返回符合 OGC 规范的图像或数据。

    描述:
    这些仅是地图服务用途的一部分。在对地图服务的使用过程中,您可能会发现更多其他用途。所有地图服务都可通过 SOAP 和 REST 界面来显示,从而使它们可用于多种 Esri 和第三方应用程序。

    1.4.应该启用哪个服务功能?

    1)功能
    使用功能选项卡可选择要在地图服务中启用的服务功能。这些功能可创建更多的服务,以与地图服务搭配使用。它们可使用户在更广泛的应用程序和设备中访问地图。服务功能使用户能够借助地图服务实现更多的功能,例如网络分析和要素访问。

    此表列出了地图服务可以使用的功能以及有关启用相应功能的所有特殊要求。要了解有关设置每种服务功能的具体属性的详细信息,请单击以下链接。

    功能 功能介绍 特殊要求
    制图 通过 SOAP 和 REST URL 对地图文档的内容进行访问 对所有地图文档始终启用
    WCS 使用地图文档中的栅格图层创建符合开放地理空间联盟 (OGC) 网络覆盖服务 (WCS) 规范的服务 需要栅格图层
    WMS 使用地图文档创建符合 OGC 网络地图服务 (WMS) 规范的服务
    要素访问 对地图中的矢量要素进行访问;通常在进行编辑时使用 需要矢量图层
    切片地图 提高托管切片服务的重采样性能 仅适用于缓存地图或影像服务
    逻辑示意图 允许查看、生成、更新和编辑逻辑示意图 需要逻辑示意图图层
    网络分析 使用 ArcGIS Network Analyst extension 求解交通网分析问题 需要一个引用网络数据集的网络分析图层
    KML 使用地图文档创建 KML 要素
    WFS 使用地图文档中的图层创建符合 OGC 网络要素服务 (WFS) 规范的服务 需要矢量图层(栅格图层未包括在此服务中,因为 WFS 的目的是为矢量要素几何提供服务)

    在这里插入图片描述

    2)制图功能
    制图功能始终处于启用状态。单击此功能时,您可以查看直接通过 REST 和 SOAP 访问服务 URL,并且可以切换 有关以下操作的切换按钮:

    操作 描述
    地图 允许使用导出地图、生成渲染器、查询图例和生成 KML 的方法。此操作不能关闭。
    查询 允许使用查找、查询和查询相关记录的方法。
    数据 允许使用识别的方法。

    在这里插入图片描述

    1.5使用地图服务方式和客户端

    发布到 ArcGIS Server 的服务可用于本地和 web 客户端。由于地图服务具有很多功能,因此可在很多 Esri 和第三方客户端应用程序中使用。其中包括 Esri 客户端(如 ArcGIS Enterprise、ArcGIS Online、ArcGIS API for JavaScript、ArcGIS Earth 和 ArcGIS Desktop)以及第三方客户端(如 Google Earth、OGC 和 Autodesk AutoCAD 应用程序)。

    Esri 客户端应用程序
    以下介绍了可以使用地图服务功能的 Esri 客户端应用程序。

    1)ArcGIS Enterprise

    在 ArcGIS Enterprise 门户中,指定用户和 Internet 上的任何人(可选)可以查看和使用您在 Map Viewer 中提供的 GIS 内容。

    如果您的 ArcGIS Server 站点与 ArcGIS Enterprise 门户联合,则从 ArcMap 发布的所有地图服务都会自动共享到门户。ArcGIS Pro 用户可以将 web 地图(由 ArcGIS Server 地图服务提供支持)直接共享到门户。

    如果您有一个独立的 ArcGIS Server 站点,则您可以在 ArcGIS Enterprise 门户中将地图服务添加为外部服务,以使用这些服务。有关详细信息,请参阅连接到安全服务。

    2) ArcGIS Online

    您可以使用 ArcGIS Online 中的 Map Viewer 来构建和共享使用 ArcGIS Server 站点上托管的地图服务的 web 地图及应用程序。另外,您可以使用可用的底图、数据和应用程序(例如预配置模板或 ArcGIS Web AppBuilder)来共享您的内容。

    3)ArcGIS Desktop 应用程序

    ArcMap
    ArcGIS Pro
    ArcGIS Maps for Office
    ArcGIS Maps for Office 通过 Microsoft 加载项在 Microsoft Office 中提供制图功能。可将此加载项与 Microsoft Office 组件配合使用,以创建可引用和显示 GIS Server 上的地图服务并可与这些地图服务进行交互的地图。可从 Esri 网站下载 ArcGIS Maps for Office。

    4)ArcGIS Maps for SharePoint

    ArcGIS Maps for SharePoint 提供可配置的交互式制图组件,以便您了解组织数据的地理空间视图。ArcGIS Maps for SharePoint 包括 Web 地图组件,允许您引用和显示 GIS 服务器上的地图服务以及与这些地图服务进行交互。

    5)ArcGIS Earth

    ArcGIS Earth 允许您浏览世界任何地方的地形、海洋和山脉,以 3D 模式显示地球上的数据。ArcGIS Earth 使用各种 2D 与 3D 地图数据格式来显示数据、创建草图、测量距离和面积并添加注记以讲述故事。

    6)Explorer for ArcGIS

    Explorer for ArcGIS 允许您组织中的每个人在其设备上查找、分析和共享地图服务。您可对数据进行可视化、在您的地图中搜索地点和要素、在地图上绘制草图以高亮显示重要的要素、与其他 Explorer for ArcGIS 用户共享地图以及通过交互式地图演示来讲述故事。

    7)ArcGIS API for JavaScript 应用程序

    ArcGIS API for JavaScript 可帮助您构建采用地图服务的 Internet 应用程序。ArcGIS API for JavaScript 具有完整的帮助文档,其中包含概念帮助、示例和 API 参考主题,可使编程变得更加轻松。有关详细信息,请参阅 ArcGIS API for JavaScript 主页。

    8)ArcGIS Runtime SDKs

    开发人员可以使用 ArcGIS Runtime SDK 在各种流行的平台和设备上构建和部署原生应用程序。有关详细信息,请参阅 ArcGIS for Developers 站点。

    9)第三方客户端应用程序

    以下第三方客户端可以使用地图服务功能:

    Google Earth(以 KML 形式)
    Web 覆盖服务客户端应用程序(作为 OGC WCS)
    Web 要素服务客户端应用程序(作为 OGC WFS)
    Web 地图服务客户端应用程序(作为 OGC WMS)
    Web 地图切片服务客户端应用程序(作为 OGC WMTS)
    Web 处理服务客户端应用程序(作为 OGC WPS)
    AutoCAD(作为 ArcGIS for AutoCAD 插件应用程序)

    2.服务准备/制作/发布/调用操作实例

    2.1.发布服务

    2.1.1 arcmap发布地图服务

    1)首先加载数据
    先连接上arcgis server

    在这里插入图片描述

    在这里插入图片描述
    注:此处如果自己的机器只安装了一个arcgis server的话,那么我们只需要填写server站点的管理员账号和密码即可;

    但是如果我们的机器环境是enterprise环境的话,此处填写的是portal的账号和密码;
    什么是enterprise参安装教程:
    ArcGIS Enterprise10.8.1部署在Linux环境下安装教程
    Windows server2012配置enterprise10.8.1的Web_Adaptor_Java版安装详细教程

    加载数据:
    我们加载的是GDB中的feature class数据:其中配图什么的,可以在属性符号等里面进行操作,包括一系列的分析等都可以操作;

    在这里插入图片描述
    然后发布服务:
    在这里插入图片描述
    链接上我们的GIS Server服务:
    在这里插入图片描述
    新建一个文件夹,以便于我们寻找:
    在这里插入图片描述
    然后点击下一步就到了我们service Editor这个页面了:
    在这里插入图片描述
    点击Capabilities这个界面,可以勾选我们需要发布的服务类型,由于我们这里只需要发布地图服务,所以我们默认就行:
    在这里插入图片描述
    其他的直接默认即可:点击分析:

    在这里插入图片描述
    分析完只有没有错误,警告可以不用管它,直接点击发布即可;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    出现这个界面即表示我们的地图服务发布完成了;

    接下来,让我们去server manager这个位置上看一下:
    在这里插入图片描述
    同样,我们点进去 这个页面,就可以查看我们发布的REST服务,然后就可以实现一个rest服务操作:
    在这里插入图片描述
    在这里插入图片描述
    对于想实现query查询的,我们只需要点击上去没有的Layers 0/1/2图层进去即可实现query操作了;

    2.1.2 arcgis pro发布地图服务

    pro发布 的服务的时候,我们需要先使用Pro链接上我们的portal,然后才能正常的共享为web图层:
    在这里插入图片描述
    加载数据,将相同的三个数据加载到arcgis Pro中:
    在这里插入图片描述
    这个地方,有些小伙伴会说,这个三个图层,可以一起发布成一个mapserver吗? 当然可以, 按着Ctrl键,然后右键共享为web图层,即一起发布成一个mapserver:
    在这里插入图片描述

    填写一些描述信息:选择copy数据的形式:
    在这里插入图片描述

    点击分析没有保存,然后点击发布即可:

    在这里插入图片描述
    在这里插入图片描述
    可能细心的小伙伴会说,为什么arcmap发布的时候还有功能参数等这些设置,为什么pro没有呢,其实是是一样的,我们看看在哪里:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    瞬间是不是感觉类似于arcmap发布地图服务的感觉;

    那么我们一起看看portal的位置:

    在这里插入图片描述
    点击进去刚才发布的服务:
    在这里插入图片描述

    点击缩略图进去,即可看到我们发布的服务:

    在这里插入图片描述
    复制服务的rest服务的url到网页,同样可以进行rest的query查询,这个服务的url也是我们后期需要用JS调用的url;
    在这里插入图片描述

    2.2.ArcGIS API for JavaScript调用服务

    我们在使用地图服务的时候,有很多种方式,本示例主要是使用ArcGIS API for JavaScript调用服务;

    **MapImagerLayer 用来加载动态地图服务;**地图服务根据请求在服务器端动态输出地图图像;

    MapImageLayer允许您显示和分析来自地图服务中定义的子图层的数据,并导出图像而不是要素。

    地图服务图像是根据请求在服务器上动态生成的,该请求包括LOD(详细程度),边框,dpi,空间参考和其他选项。 导出的图像具有指定的整个地图范围。
    与FeatureLayer不同,MapImageLayer处理由服务器而非客户端处理。 在某些情况下,将处理任务卸载到服务器可以使MapImageLayer以更高的性能呈现更多功能。

    实例化MAPImageLayer的是这种:
    在这里插入图片描述
    具体代码如下:

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8" />
        <meta
          name="viewport"
          content="initial-scale=1,maximum-scale=1,user-scalable=no"
        />
        <title>
          Intro to MapImageLayer | Sample | ArcGIS API for JavaScript 4.16
        </title>
    
        <link
          rel="stylesheet"
          href="https://js.arcgis.com/4.16/esri/themes/light/main.css"
        />
        <script src="https://js.arcgis.com/4.16/"></script>
    
        <style>
          html,
          body,
          #viewDiv {
            padding: 0;
            margin: 0;
            height: 100%;
            width: 100%;
          }
        </style>
    
        <script>
          require([
            "esri/Map",
            "esri/views/SceneView",
            "esri/layers/MapImageLayer"
          ], function (Map, SceneView, MapImageLayer) {
            /*****************************************************************
             * Create a MapImageLayer instance pointing to a Map Service
             * containing data about pool permits in Southern California.
             *****************************************************************/
            var layer = new MapImageLayer({
              url:"https://t460p.esrichina.com/server/rest/services/NewFolder/MyMapServiceTest/MapServer"
            });
    
            /*****************************************************************
             * Add the layer to a map
             *****************************************************************/
            var map = new Map({
              basemap: "dark-gray",
              layers: [layer]
            });
    
            var view = new SceneView({
              container: "viewDiv",
              map: map
            });
    
            /*****************************************************************
             * Animate to the layer's full extent when the layer loads.
             *****************************************************************/
            permitsLayer.when(function () {
              view.goTo(permitsLayer.fullExtent).catch(function (error) {
                if (error.name != "AbortError") {
                  console.error(error);
                }
              });
            });
          });
        </script>
      </head>
    
      <body>
        <div id="viewDiv"></div>
      </body>
    </html>
    

    加载出来在网页端的效果就是这样的:
    在这里插入图片描述

    展开全文
  • 作为一名地图爱好者,我经常需要用到地图,也对如何快速和更好地绘制地图服务好自己的工作研究过。下面我结合Adobe illustrator(简称AI)软件,谈谈其在地图绘制中的主要应用,希望给大家一些启发。一、...

    地图是我们进行学习、研究的介质,在学校的日常学习和工作过程中,为了让自己的观点表达的更直观,更易懂,将枯燥的理论知识与地图相结合,成为许多人的选择,但如何制作基础地图成为我们需要面临的问题。作为一名地图爱好者,我经常需要用到地图,也对如何快速和更好地绘制地图,服务好自己的工作研究过。下面我结合Adobe illustrator(简称AI)软件,谈谈其在地图绘制中的主要应用,希望给大家一些启发。

    一、首先介绍下Adobe illustrator(AI)

    此软件是矢量绘图软件,可以通过建立图层,绘制各类矢量图像并增加一些效果,常见的城市规划分析图、媒体广告展等成果都多多少少会用到此软件,个人觉得该软件实用性还是比较高的,也比较容易学习和掌握。其姊妹软件是Adobe Photoshop(PS),侧重栅格图像处理,两者可以结合使用,可以搞定日常生活和工作中的许多涉及图像的问题。

    cbbc2ecce38e527152a38ed430d20c9d.png

    软件启动界面

    二、如何使用Adobe illustrator快速绘制地图

    比如我们要绘制一张天津市的区划图,后期需要基于该地图进行区划颜色调整和分析使用。首先在官方网站上,寻找标准地图(都是带有地图审图号的),然后将其下载下来后,置入AI中,建立对应的图层,使用钢笔工具进行描绘(也可使用“图像描摹”快速功能,但有时候绘制出的效果不理想),将地图轮廓线描绘完成后,可以进行边框颜色和填充颜色设置,最后保存形成一张矢量地图。然后就可以在此基础上,进行添加各类文字、叠加其他图像和绘制圆环、轴带、面等。

    1f1355e00848757ee82c256a3cb9327d.png

    使用外观功能设置地图填充和描边

    值得注意的是,illustrator优势在图形处理方面,若要进行数据统计,不是该软件的强项。此外,绘制的地图建议仅在内部使用,不要公开发表,因为地图对外公开使用要经过相关部门进行审批。

    三、Adobe illustrator可以服务的地图应用有哪些

    除了上面提到的可以绘制地图外,该软件还可以进行各类围绕地图的标绘、图面分析等。

    (一)地图标绘

    如可以进行地图文字标注、图片标注,服务旅游地图制作、兴趣地图制作等。通过AI设计制作的出来的地图也相对好看。

    6dcb0a7a2548624308d514710e02b4e4.png

    旅游地图(图片引自网络)

    (二)图形分析

    常见的城市规划方面的分析图,可以使用该软件进行有针对性绘制,且后期修改起来也相对容易。

    032eddfebe733043ad37bffdaae9187e.png

    规划分析图(图片引自网络)

    以上,是个人对Adobe illustrator在地图应用方面的一些见解,难免存在一些疏漏,仅供大家参考,希望能够给大家以帮助,也希望大家进行交流。

    展开全文
  • Echarts 实现的地图是这样的,你可以在Echarts 绘制地图Echarts 是图表库,实现地图的呈现主要两种方式:使用地图矢量数据呈现,好处是无需其他服务,数据均打包在 js 中,缺点是打包的代码过大,官方已不提供下载...

    有一个方案完全满足你的需求,那就是 Echarts + 百度地图 API,首先我不太喜欢百度,也不做广告,不过 Echarts 却是我最喜欢的开源图表库。

    Echarts 实现的地图是这样的,你可以在

    Echarts 绘制地图

    Echarts 是图表库,实现地图的呈现主要有两种方式:使用地图矢量数据呈现,好处是无需其他服务,数据均打包在 js 中,缺点是打包的代码过大,官方已不提供下载,需要自行寻找,且面临无法更新的困难。

    结合百度地图 API 使用,好处是地图及时更新,数据极其丰富且快速,坏处是需要整合百度开放平台。

    因为百度地图 API 完全满足你的需求(矢量,数据量全,个人基础免费),且我们生产环境也使用的是这种方式,我就简单讲解一下。

    JS 依赖

    首先需要下载 echarts 的依赖,引入方式有直接 script,webpack 等方式,可以参考这里。

    然后需要注册一下百度地图开放平台,创建一个应用,记下 AK,供后面调用。

    就可以在你的代码里添加百度地图的 js(替换生成的 AK)和 echarts 的百度地图扩展。所以一共需要添加三个 js 库,为了简化我这里使用了 CDN 的 js。

    Echarts 绘制图表

    接着就可以通过 echarts 调用百度地图 API 来绘制地图了。echarts 的使用非常简单,主要是提供一个 option 配置项对象。

    ECharts

    // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('main'));

    // 指定图表的配置项和数据 var option = {

    title: {

    text: 'ECharts 入门示例'

    },

    tooltip: {},

    legend: {

    data:['销量']

    },

    xAxis: {

    data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]

    },

    yAxis: {},

    series: [{

    name: '销量',

    type: 'bar',

    data: [5, 20, 36, 10, 10, 20]

    }]

    };

    // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option);

    上面是 echarts 基本的使用,而我们只需要修改配置项 option 对象,即可画出不同的图像。

    Echarts 地图绘制

    例如,我们画出最近比较常见的新型肺炎确诊地图(数据纯属虚构),并画一条迁移线路。

    // 指定数据

    let data = [

    {name: '武汉', value: 38},

    {name: '长沙', value: 28},

    {name: '上海', value: 22},

    ]

    // 指定坐标

    let geo = {

    '武汉': [114.31,30.52],

    '长沙': [113,28.21],

    '上海': [121.48,31.22]

    }

    // 数据转换

    var convertData = function (data) {

    var res = [];

    for (var i = 0; i < data.length; i++) {

    var geoCoord = geo[data[i].name];

    if (geoCoord) {

    res.push({

    name: data[i].name,

    value: geoCoord.concat(data[i].value)

    });

    }

    }

    return res;

    }

    // 配置项

    let option = {

    backgroundColor: 'transparent',

    tooltip : {

    show: false

    },

    // 百度地图配置

    bmap: {

    center: [104.114129, 37.550339],

    zoom: 5,

    roam: true,

    // 地图样式

    mapStyle: {

    styleJson: [

    {

    "featureType": "water",

    "elementType": "all",

    "stylers": {

    "color": "#17263cff"

    }

    },

    {

    "featureType": "land",

    "elementType": "all",

    "stylers": {

    "color": "#242f3eff"

    }

    },

    {

    "featureType": "boundary",

    "elementType": "geometry",

    "stylers": {

    "color": "#064f85"

    }

    },

    {

    "featureType": "railway",

    "elementType": "all",

    "stylers": {

    "visibility": "off"

    }

    },

    {

    "featureType": "highway",

    "elementType": "geometry",

    "stylers": {

    "color": "#004981"

    }

    },

    {

    "featureType": "highway",

    "elementType": "geometry.fill",

    "stylers": {

    "color": "#005b96",

    "lightness": 1

    }

    },

    {

    "featureType": "highway",

    "elementType": "labels",

    "stylers": {

    "visibility": "off"

    }

    },

    {

    "featureType": "arterial",

    "elementType": "geometry",

    "stylers": {

    "color": "#004981"

    }

    },

    {

    "featureType": "arterial",

    "elementType": "geometry.fill",

    "stylers": {

    "color": "#00508b"

    }

    },

    {

    "featureType": "poi",

    "elementType": "all",

    "stylers": {

    "visibility": "off"

    }

    },

    {

    "featureType": "green",

    "elementType": "all",

    "stylers": {

    "color": "#056197",

    "visibility": "off"

    }

    },

    {

    "featureType": "subway",

    "elementType": "all",

    "stylers": {

    "visibility": "off"

    }

    },

    {

    "featureType": "manmade",

    "elementType": "all",

    "stylers": {

    "visibility": "off"

    }

    },

    {

    "featureType": "local",

    "elementType": "all",

    "stylers": {

    "visibility": "off"

    }

    },

    {

    "featureType": "arterial",

    "elementType": "labels",

    "stylers": {

    "visibility": "off"

    }

    },

    {

    "featureType": "boundary",

    "elementType": "geometry.fill",

    "stylers": {

    "color": "#029fd4"

    }

    },

    {

    "featureType": "building",

    "elementType": "all",

    "stylers": {

    "color": "#1a5787"

    }

    },

    {

    "featureType": "label",

    "elementType": "all",

    "stylers": {

    "visibility": "off"

    }

    }]

    }

    },

    series : [

    {

    name: '确诊数量',

    type: 'scatter',

    coordinateSystem: 'bmap',

    data: convertData(data),

    symbolSize: function (val) {

    return val[2];

    },

    label: {

    show: true,

    formatter: '{b}',

    position: 'inside',

    fontSize: 10,

    color: '#333333'

    },

    itemStyle: {

    color: '#ddb926'

    },

    emphasis: {

    label: {

    show: true,

    formatter: '{@[2]}',

    }

    }

    },

    {

    name: '线路',

    type: 'lines',

    coordinateSystem: 'bmap',

    zlevel: 2,

    effect: {

    show: true,

    constantSpeed: 30,

    symbol: 'pin',

    symbolSize: 10,

    trailLength: 0,

    },

    data: [

    {'coords': [[114.31,30.52],[121.48,31.22]]}

    ]

    }

    ]

    }

    实现的效果如下所示

    地图上的点和线等就可以根据我们的需求添加了。

    代码里有几个疑问了。坐标怎么获取?

    百度地图有个工具可以帮助我们快速获取地图坐标。拾取坐标系统​api.map.baidu.com地图样式(mapStyle)一堆 JSON 怎么配置?

    百度地图开放平台有个工具可供我们自定义样式。

    完整示例

    完整的代码如下,替换百度地图 AK,即可保存成 html 网页在浏览器中查看。

    ECharts 地图

    // 基于准备好的dom,初始化echarts实例

    var myChart = echarts.init(document.getElementById('main'));

    // 指定数据

    let data = [

    {name: '武汉', value: 38},

    {name: '长沙', value: 28},

    {name: '上海', value: 22},

    ]

    // 指定坐标

    let geo = {

    '武汉': [114.31,30.52],

    '长沙': [113,28.21],

    '上海': [121.48,31.22]

    }

    // 数据转换

    var convertData = function (data) {

    var res = [];

    for (var i = 0; i < data.length; i++) {

    var geoCoord = geo[data[i].name];

    if (geoCoord) {

    res.push({

    name: data[i].name,

    value: geoCoord.concat(data[i].value)

    });

    }

    }

    return res;

    }

    // 配置项

    let option = {

    backgroundColor: 'transparent',

    tooltip : {

    show: false

    },

    // 百度地图配置

    bmap: {

    center: [104.114129, 37.550339],

    zoom: 5,

    roam: true,

    // 地图样式

    mapStyle: {

    styleJson: [

    {

    "featureType": "water",

    "elementType": "all",

    "stylers": {

    "color": "#17263cff"

    }

    },

    {

    "featureType": "land",

    "elementType": "all",

    "stylers": {

    "color": "#242f3eff"

    }

    },

    {

    "featureType": "boundary",

    "elementType": "geometry",

    "stylers": {

    "color": "#064f85"

    }

    },

    {

    "featureType": "railway",

    "elementType": "all",

    "stylers": {

    "visibility": "off"

    }

    },

    {

    "featureType": "highway",

    "elementType": "geometry",

    "stylers": {

    "color": "#004981"

    }

    },

    {

    "featureType": "highway",

    "elementType": "geometry.fill",

    "stylers": {

    "color": "#005b96",

    "lightness": 1

    }

    },

    {

    "featureType": "highway",

    "elementType": "labels",

    "stylers": {

    "visibility": "off"

    }

    },

    {

    "featureType": "arterial",

    "elementType": "geometry",

    "stylers": {

    "color": "#004981"

    }

    },

    {

    "featureType": "arterial",

    "elementType": "geometry.fill",

    "stylers": {

    "color": "#00508b"

    }

    },

    {

    "featureType": "poi",

    "elementType": "all",

    "stylers": {

    "visibility": "off"

    }

    },

    {

    "featureType": "green",

    "elementType": "all",

    "stylers": {

    "color": "#056197",

    "visibility": "off"

    }

    },

    {

    "featureType": "subway",

    "elementType": "all",

    "stylers": {

    "visibility": "off"

    }

    },

    {

    "featureType": "manmade",

    "elementType": "all",

    "stylers": {

    "visibility": "off"

    }

    },

    {

    "featureType": "local",

    "elementType": "all",

    "stylers": {

    "visibility": "off"

    }

    },

    {

    "featureType": "arterial",

    "elementType": "labels",

    "stylers": {

    "visibility": "off"

    }

    },

    {

    "featureType": "boundary",

    "elementType": "geometry.fill",

    "stylers": {

    "color": "#029fd4"

    }

    },

    {

    "featureType": "building",

    "elementType": "all",

    "stylers": {

    "color": "#1a5787"

    }

    },

    {

    "featureType": "label",

    "elementType": "all",

    "stylers": {

    "visibility": "off"

    }

    }]

    }

    },

    series : [

    {

    name: '确诊数量',

    type: 'scatter',

    coordinateSystem: 'bmap',

    data: convertData(data),

    symbolSize: function (val) {

    return val[2];

    },

    label: {

    show: true,

    formatter: '{b}',

    position: 'inside',

    fontSize: 10,

    color: '#333333'

    },

    itemStyle: {

    color: '#ddb926'

    },

    emphasis: {

    label: {

    show: true,

    formatter: '{@[2]}',

    }

    }

    },

    {

    name: '线路',

    type: 'lines',

    coordinateSystem: 'bmap',

    zlevel: 2,

    effect: {

    show: true,

    constantSpeed: 30,

    symbol: 'pin',

    symbolSize: 10,

    trailLength: 0,

    },

    data: [

    {'coords': [[114.31,30.52],[121.48,31.22]]}

    ]

    }

    ]

    }

    // 使用刚指定的配置项和数据显示图表。

    myChart.setOption(option);

    参考

    展开全文
  • 首先埃文科技是军工起家,成立于2012年8月31号,9年的数据积累经验,已经斩获了33项发明专利,53项软件著作权,这在整个行业里也是领航者了,也是全球领先的网络空间地图大数据服务提供商。(tongwu01)目前国内...

    据我在这个行业从业多年的经验来看,全国一共也就那么几家做IP地理位置定位的,要综合技术以及服务来看,哪家最好呢,当然要属埃文科技,
    首先埃文科技是军工起家,成立于2012年8月31号,有9年的数据积累经验,已经斩获了33项发明专利,53项软件著作权,这在整个行业里也是领航者了,也是全球领先的网络空间地图大数据服务提供商。(tongwu01)目前国内还有一家公司在北京,但是根本就没有什么技术支持和售后服务。
    第二埃文科技以及和全国一些知名的企业比如说 360 、奇安信、安恒、拼多多、好未来等等行业都有长期的合作。
    在这里插入图片描述
    第三埃文科技有专门的售前技术支持部门以及售后服务部门,让咱们每个合作的会员都能安心使用。

    第四:埃文科技历经9年,已经拿到了B轮的融资,市场部也是2020年的时候刚刚成立,所以未来埃文科技的发展会越来越快。

    展开全文
  • 高德地图标注能给我们带来哪些好处?随着导航的快速发展,相信大家对于地图标注都不陌生了,那么今天小编就来给大家讲一下高德地图标注能给我们带来哪些好处。提高品牌知名度,打造...作为消费服务类企业,一张属...
  • 很多人让我预言一下中国企业服务近3年、近5年、近8年、近10年的展望。 (1)三大基础技术体系 从技术推崇上,我肯定推崇一下三类技术: 1、智能硬件:芯片、电池、传感器、摄像头、麦克风、地图定位导航、OS、...
  • 简单想象一个问题,一家餐厅需要具备哪些特质才能成为顶级的受顾客喜爱的餐厅?是菜肴的口味,食材的新鲜度?亦或就餐环境,顾客服务?可以肯定的是,很多人会忽视“提供优质菜品与服务”和“提供一贯优质的菜品与...
  • HDC2020大会HMS生态面向全球全面开放支付、广告、浏览、地图、搜索等五大根服务引擎,并通过HMS Core 5.0开放领先的软硬件和云端能力,赋能伙伴和开发者加速应用体验创新和数字化创新。大家知道推出了哪些服务助力...
  • 2015年百度地图重心放在服务化上,与越来越多的O2O服务例如出行、外卖等打通——Google地图也已经跟进此举。2016年百度地图在“地图”本身上下更大力度,巩固基础数据和采集技术领先地位的同时,着眼于国际市场的...
  • 作为iOS 12中一项大的更新,苹果的地图服务有哪些新的亮点?从头开始,地图数据自己搞此前,苹果地图一直使用的是第三方所提供的地图数据,不过,现在来看,苹果已经将开始自己搜集地图数据,并逐步替代第三方数据...
  • 现在一张全能的地图帮我们解答这些问题↓↓↓7×24小时政务服务地图今年9月3日,安徽省在皖事通APP推出了汇聚线上线下办事渠道、服务事项同时兼具导航功能的“7x24小时政务服务地图”精准识别办事需求智能推荐最佳...
  • 下面,国辰机器人就给大家介绍一下商场服务机器人的解决方案有哪些? 服务机器人商场解决方案 业务咨询VS引导带领:解答用户各种咨询问题,洞察访客需求,提供准确的服务,并且可以自主创建场景环境地图,智能避障...
  • SLAM方向国内有哪些优秀公司?

    万次阅读 2019-07-09 19:08:24
    计算机视觉life为读者整理了国内几十...基于SD地图、ADAS地图、高精地图、人工智能、大数据, 向国内外车企提供自动驾驶系统解决方案和HMI人机交互平台;与车企、Tier1厂商、芯片厂商以及服务提供商等共同打造智慧汽...
  • 1、首先需要了解天地图有哪些数据服务,具体详见天地图API介绍,如下图所示: 如下地址我将加粗的“vec_c”成为图层标签。 http://t0.tianditu.gov.cn/vec_c/wmts?tk=您的密钥 2、申请天地图密钥,具体如何申请...
  • 它的含义十分广泛,并庞大复杂,需要专门设计的硬件和软件工具来进行数据处理和分析。下面给大家推荐几款常见好用的数据分析工具,以供参考选择。 Smartbi Smartbi是国内领先的BI厂商,产品定位于一站式大数据...
  • 现在市面上的建站网站很多,顶尖二字确实不好去定义,各有千秋吧,建议从几个方面考察 公司口碑 看成立时间,市场反馈程度如何 ...千套模板-万能表单-会员管理-官网电商-SEO优化-在线支付-高德地图-在线客服-阿
  • 使用google map的路线服务开发接口 ...请求中指定路线的起点和终点,某些交通方式的路线,在google map路线服务的开发接口上无法请求到...google map 路线导航开发接口数据并不准确,现在想拿到准确的数据,有哪些方案?
  • 摘要:地图服务,大家能想到哪些?POI搜素,输入提示,地址解析,公交导航,驾车导航,步行导航,道路查询(交叉口),行政区划等等。如果说覆盖物Marker是地图的骨骼,那么服务,就是地图的气血。个各种各样的...
  • nbsp 主流热门行业项目应有尽有票务电商旅游爬虫票务一大觅网功能:面向互联网用户的在线票务电商系统,用户可以通过大觅网实现演出票的选座、购买等,并过平台进行第三方登录和支付,以及接入百度地图实现剧场定位...
  • 太平洋电脑网 作者:郭华 电子地图的应用目前已经越来越广泛:外出旅游之前,我们总要做一些准备,比如我们要去的地方附近有哪些建筑和道路,如何到达,我们现在总可以通过查看在线的电子地图来得到答案。...
  • 目前大多数使用的寻路算法有哪些? 目前市面上大部分游戏的寻路算法是A*,或者B*。 A*通常所说的是最优算法也就是寻找最短路径。B*碰撞式算法也就是,也就是不断的去碰撞能走就走,不管是不是绕路。当然以上都是我...
  • 有关地图偏移问题

    2020-03-16 09:49:47
    万能地图下载器中的地图哪些地图偏移的,哪些地图是没有偏移的呢? 无偏移的: 谷歌地球卫星地图 谷歌地图国外服务器的卫星地图地图卫星地图、电子地图和地形图 必应卫星地图 OpenStreetMap电子地图和...
  • 智能电子指路牌有哪些功能? 智慧标识是指利用智能标识来做标识标牌,更加科技趣味便捷。利用五大前沿新技术:人脸识别技术,语音识别技术,动态可视化技术,实时互动交互技术,大数据溯源技术,升级传统标识行业,...
  • 01最近,在高德出行节的线上发布会上,高德...说大白话就是,高德地图新加了一个功能,可以看到各个城市有哪些好吃的好玩的好住的,听起来是不是有点像大众点评?差不多,但也不太一样,高德指南更像一个细分产品,...
  • 摘要:地图服务,大家能想到哪些?POI搜素,输入提示,地址解析,公交导航,驾车导航,步行导航,道路查询(交叉口),行政区划等等。如果说覆盖物Marker是地图的骨骼,那么服务,就是地图的气血。个各种
  • 学软件的对地图一点不懂,就是想获取地图里的信息。比如哪几个路口,各个路口的距离,然后写最短路径,做一个软件。为毕业设计做基础。我该找哪些东西呢?主要是怎么利用地图里的数据为我的代码服务

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 210
精华内容 84
关键字:

地图服务有哪些