很早之前就有想写博客的念头,今天终于有时间静下心来写我的第一篇博客,在此庆贺一下!
好了,言归正传,作为一名刚接触WebGIS开发的小白,在构建应用的时候首先想到的是拿到一幅符合系统需求的底图,然后在上面叠加自己的矢量图层,这样只需要维护好我们自己的专题数据就好了,今天就以高德地图为例,讲讲怎么在ArcGIS API 3.29中引入高德地图。
原理:由于ArcGIS API没有直接引入其它地图的方法,所以我们需要先写一个扩展类,然后将扩展类引入API中,最后编写代码引入高德地图。
1.创建扩展类
define(["dojo/_base/declare", "esri/geometry/Extent", "esri/SpatialReference", "esri/geometry/Point", "esri/layers/TileInfo", "esri/layers/TiledMapServiceLayer"],
function (declare, Extent, SpatialReference, Point, TileInfo, TiledMapServiceLayer) {
return declare("gaodeLayer", TiledMapServiceLayer, {
// 构造函数
constructor: function (args) {
// 这里使用坐标系为投影坐标系WGS_1984_Web_Mercator_Auxiliary_Sphere(wkid: 3857)
this.spatialReference = new SpatialReference({
wkid: 3857
});
// 图层提供的起始显示范围和整个图层的地理范围
this.fullExtent = new Extent(-20037508.342787, -20037508.342787, 20037508.342787, 20037508.342787, this.spatialReference);
this.initialExtent = this.fullExtent;
this.tileInfo = new TileInfo({
"cols": 256,
"rows": 256,
"compressionQuality": 0,
"origin": new Point(-20037508.342787, 20037508.342787, this.spatialReference),
"spatialReference": this.spatialReference,
"lods": [