ArcGIS WebAPI接入google瓦片服务

2024-03-05 00:08

本文主要是介绍ArcGIS WebAPI接入google瓦片服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

当前电子地图大行其道,其中大部分是以瓦片的形式和rest接口来对地图内容进行访问的,那么我们能否在需要底图数据的时候借用下这些丰富而详细的数据内容呢?

接下来我们利用ArcGIS强大的API实现了集中常见类型瓦片服务的接入,其中的关键就是对于TiledMapServiceLayer类的理解和使用了。

 

publicclassGooglemap :TiledMapServiceLayer

{

    //public bool
chn;

    publicstring _mapType = null;

    publicoverridevoid
Initialize()

    {

       //this.Opacity
= 0.5;

       this.FullExtent
=
new

      
ESRI.ArcGIS.Client.Geometry.Envelope(-20037508.342787, -20037508.342787,
20037508.342787, 20037508.342787);//(-180,-85.0511287798066,180,
85.0511287798066)

       {

           SpatialReference = new
ESRI.ArcGIS.Client.Geometry.SpatialReference(102100);

       };

       this.SpatialReference
=
new
ESRI.ArcGIS.Client.Geometry.SpatialReference(102100);

       //this.InitialExtent
= this.FullExtent;

       this.TileInfo
=
new TileInfo()

       {

           Height = 256,

           Width = 256,

           Origin = new
ESRI.ArcGIS.Client.Geometry.MapPoint(-20037508.342787,20037508.342787)
//Origin = new ESRI.ArcGIS.Geometry.MapPoint(-180,90)

           {

                SpatialReference = new
ESRI.ArcGIS.Client.Geometry.SpatialReference(102100)

           },

           Lods = new
Lod[20]

       };

       double
resolution = 156543.033928;

       for (int i = 0; i <TileInfo.Lods.Length; i++)

       {

           TileInfo.Lods[i] = new Lod() { Resolution = resolution };

           resolution /= 2;

       }

       base.Initialize();

    }

 

    publicoverridestring
GetTileUrl(
int level, int
row,
int col)

    {

       string url = null;

       if
(_mapType ==
“poi)

       {

           string
baseUrl =
“http://mt1.google.cn/vt/imgtp=png32&lyrs=h@169000000&hl=zh-CN&gl=cn&x=;

           url = baseUrl + col.ToString() + “&y= +row.ToString() + “&z= + level.ToString() + “&s=Ga;

           

       }

       elseif (_mapType == “image)

       {

           string
baseUrl =
“http://mt3.google.cn/vt/lyrs=s@101&hl=zh-CN&gl=cn&x=;

           url = baseUrl + col.ToString() + “&y= +row.ToString() + “&z= + level.ToString() + “&s=;

       }

       elseif (_mapType == “map)

       {

           string
baseUrl =
“http://mt0.google.cn/vt/lyrs=m@169000000&hl=zh-CN&gl=cn&x=;

           url = baseUrl + col.ToString() + “&y= +row.ToString() + “&z= + level.ToString() + “&s=Ga;

       }

       return
url;

    }

}

这篇关于ArcGIS WebAPI接入google瓦片服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/774701

相关文章

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

springboot家政服务管理平台 LW +PPT+源码+讲解

3系统的可行性研究及需求分析 3.1可行性研究 3.1.1技术可行性分析 经过大学四年的学习,已经掌握了JAVA、Mysql数据库等方面的编程技巧和方法,对于这些技术该有的软硬件配置也是齐全的,能够满足开发的需要。 本家政服务管理平台采用的是Mysql作为数据库,可以绝对地保证用户数据的安全;可以与Mysql数据库进行无缝连接。 所以,家政服务管理平台在技术上是可以实施的。 3.1

ASP.Net.WebAPI和工具PostMan

1.WebAPI概述 1.1 WebAPI WebAPI 是一种传统的方式,用于构建和暴露 RESTUI风格的Web服务。它提供了丰富的功能和灵活性,可以处理各种HTTP请求,并支持各种数据格式,如JSON、XML等。 WebAPI使用控制器(Controllers)和动作方法(ActionMethods)的概念、通过路由配置将请求映射到相应的方法上。 开发人员可以使用各种属性和过滤器来处

微服务中RPC的强类型检查与HTTP的弱类型对比

在微服务架构中,服务间的通信是一个至关重要的环节。其中,远程过程调用(RPC)和HTTP是两种最常见的通信方式。虽然它们都能实现服务间的数据交换,但在类型检查方面,RPC的强类型检查和HTTP的弱类型之间有着显著的差异。本文将深入探讨这两种通信方式在类型检查方面的优缺点,以及它们对微服务架构的影响。 一、RPC的强类型检查 RPC的强类型检查是其核心优势之一。在RPC通信中,客户端和服务端都使

中国341城市生态系统服务价值数据集(2000-2020年)

生态系统服务反映了人类直接或者间接从自然生态系统中获得的各种惠益,对支撑和维持人类生存和福祉起着重要基础作用。目前针对全国城市尺度的生态系统服务价值的长期评估还相对较少。我们在Xie等(2017)的静态生态系统服务当量因子表基础上,选取净初级生产力,降水量,生物迁移阻力,土壤侵蚀度和道路密度五个变量,对生态系统供给服务、调节服务、支持服务和文化服务共4大类和11小类的当量因子进行了时空调整,计算了

SpringCloud - 微服务

1、微服务介绍         参考: 微服务百度百科 1.1 概念         微服务(或称微服务架构)是一种云原生架构方法,在单个应用中包含众多松散耦合且可单独部署的小型组件或服务。 这些服务通常拥有自己的技术栈,包括数据库和数据管理模型;通过一个REST API、事件流和消息代理组合彼此通信;以及按照业务能力进行组织,具有通常称为有界上下文的服务分隔线。         微服务特

微服务(服务治理)

服务远程调用时存在的问题 注册中心原理 服务治理中的三个角色分别是什么? 服务提供者:暴露服务接口,供其它服务调用服务消费者:调用其它服务提供的接口注册中心:记录并监控微服务各实例状态,推送服务变更信息 消费者如何知道提供者的地址? 服务提供者会在启动时注册自己信息到注册中心,消费者可以从注册中心订阅和拉取服务信息 消费者如何得知服务状态变更? 服务提供者通过心

google-自我插件

1. Bitwarden 密码管理器 2. React Developer Tools 3. Vue.js devtools 4. YouTube™ 双字幕 5. 沉浸式翻译 - 网页翻译插件 6. FeHelper(前端助手) 7. IDM Integration Module 8. Redux DevTools - Next 9. 待续…

关于微信没有接入鸿蒙NEXT的思考

6月21日,纯血鸿蒙发布,国内的质疑声终于停止,不再被人喊叫换皮 Android 了.就连编程语言都是华为自研的。 可是发布会后微信却成了热点,因为余承东在感谢了一圈互联网企业,如:淘宝、支付宝、美团、京东、抖音、今日头条、钉钉、小红书、微博、B站、高德、WPS等等. 唯独没有感谢腾讯. 中国互联网巨头只有哪么几家,腾讯、阿里、字节、拼多多、美团、百度、京东、华为 他们这些派系又诞生了无数

google gemini1.5 flash视频图文理解能力初探(一)

市面能够对视频直接进行分析的大模型着实不多,而且很多支持多模态的大模型那效果着实也不好。 从这篇公众号不只是100万上下文,谷歌Gemini 1.5超强功能展示得知,Gemini 1.5可以一次性处理1小时的视频、11小时的音频或100,000行代码,并衍生出更多的数据分析玩法。能力覆盖: 跨模式理解和推理,当给出一部 44 分钟的巴斯特-基顿(Buster Keaton)无声电影时,该模型能准