mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-08 08:04:19 +08:00
- added esri-leaflet definitions base
- definitions for BasemapLayer and TiledMapLayer
This commit is contained in:
48
types/esri-leaflet/esri-leaflet-tests.ts
Normal file
48
types/esri-leaflet/esri-leaflet-tests.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
import L = require('esri-leaflet');
|
||||
|
||||
let basemapLayer: L.esri.BasemapLayer;
|
||||
basemapLayer = L.esri.basemapLayer('Streets');
|
||||
basemapLayer = L.esri.basemapLayer('Topographic');
|
||||
basemapLayer = L.esri.basemapLayer('NationalGeographic');
|
||||
basemapLayer = L.esri.basemapLayer('Oceans');
|
||||
basemapLayer = L.esri.basemapLayer('Gray');
|
||||
basemapLayer = L.esri.basemapLayer('DarkGray');
|
||||
basemapLayer = L.esri.basemapLayer('Imagery');
|
||||
basemapLayer = L.esri.basemapLayer('ShadedRelief');
|
||||
basemapLayer = L.esri.basemapLayer('Terrain');
|
||||
basemapLayer = L.esri.basemapLayer('USATopo');
|
||||
basemapLayer = L.esri.basemapLayer('OceansLabels');
|
||||
basemapLayer = L.esri.basemapLayer('GrayLabels');
|
||||
basemapLayer = L.esri.basemapLayer('DarkGrayLabels');
|
||||
basemapLayer = L.esri.basemapLayer('ImageryLabels');
|
||||
basemapLayer = L.esri.basemapLayer('ImageryTransportation');
|
||||
basemapLayer = L.esri.basemapLayer('ShadedReliefLabels');
|
||||
basemapLayer = L.esri.basemapLayer('TerrainLabels');
|
||||
|
||||
// should be an error
|
||||
// basemapLayer = L.esri.basemapLayer('Test');
|
||||
|
||||
basemapLayer = new L.esri.BasemapLayer('Streets');
|
||||
basemapLayer = new L.esri.BasemapLayer('Topographic');
|
||||
basemapLayer = new L.esri.BasemapLayer('NationalGeographic');
|
||||
basemapLayer = new L.esri.BasemapLayer('Oceans');
|
||||
basemapLayer = new L.esri.BasemapLayer('Gray');
|
||||
basemapLayer = new L.esri.BasemapLayer('DarkGray');
|
||||
basemapLayer = new L.esri.BasemapLayer('Imagery');
|
||||
basemapLayer = new L.esri.BasemapLayer('ShadedRelief');
|
||||
basemapLayer = new L.esri.BasemapLayer('Terrain');
|
||||
basemapLayer = new L.esri.BasemapLayer('USATopo');
|
||||
basemapLayer = new L.esri.BasemapLayer('OceansLabels');
|
||||
basemapLayer = new L.esri.BasemapLayer('GrayLabels');
|
||||
basemapLayer = new L.esri.BasemapLayer('DarkGrayLabels');
|
||||
basemapLayer = new L.esri.BasemapLayer('ImageryLabels');
|
||||
basemapLayer = new L.esri.BasemapLayer('ImageryTransportation');
|
||||
basemapLayer = new L.esri.BasemapLayer('ShadedReliefLabels');
|
||||
basemapLayer = new L.esri.BasemapLayer('TerrainLabels');
|
||||
|
||||
// should be an error
|
||||
// basemapLayer = new L.esri.BasemapLayer('Test');
|
||||
|
||||
basemapLayer = L.esri.basemapLayer('Streets', { token: 'token' });
|
||||
basemapLayer = new L.esri.BasemapLayer('Streets', { token: 'token' });
|
||||
|
||||
141
types/esri-leaflet/index.d.ts
vendored
Normal file
141
types/esri-leaflet/index.d.ts
vendored
Normal file
@@ -0,0 +1,141 @@
|
||||
// Type definitions for esri-leaflet 2.0
|
||||
// Project: http://esri.github.io/esri-leaflet
|
||||
// Definitions by: strajuser <https://github.com/strajuser>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference types="leaflet" />
|
||||
|
||||
declare namespace L {
|
||||
namespace esri {
|
||||
type CallbackHandlerFn = (error: any, metadata: any) => void;
|
||||
|
||||
type Basemaps =
|
||||
'Streets'
|
||||
| 'Topographic'
|
||||
| 'NationalGeographic'
|
||||
| 'Oceans'
|
||||
| 'Gray'
|
||||
| 'DarkGray'
|
||||
| 'Imagery'
|
||||
| 'ShadedRelief'
|
||||
| 'Terrain'
|
||||
| 'USATopo'
|
||||
| 'OceansLabels'
|
||||
| 'GrayLabels'
|
||||
| 'DarkGrayLabels'
|
||||
| 'ImageryLabels'
|
||||
| 'ImageryTransportation'
|
||||
| 'ShadedReliefLabels'
|
||||
| 'TerrainLabels';
|
||||
|
||||
interface BasemapLayerOptions extends L.TileLayerOptions {
|
||||
/**
|
||||
* Will use this token to authenticate all calls to the service.
|
||||
*
|
||||
* @type {string}
|
||||
* @memberof BasemapLayerOptions
|
||||
*/
|
||||
token?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* L.esri.BasemapLayer is used to display Esri hosted basemaps and attributes data providers appropriately. The Terms of Use for Esri hosted services apply to all Leaflet applications.
|
||||
*
|
||||
* @class BasemapLayer
|
||||
* @extends {L.TileLayer}
|
||||
*/
|
||||
class BasemapLayer extends L.TileLayer {
|
||||
constructor(key: Basemaps, options?: BasemapLayerOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* L.esri.basemapLayer is used to display Esri hosted basemaps and attributes data providers appropriately. The Terms of Use for Esri hosted services apply to all Leaflet applications.
|
||||
*
|
||||
* @param {Basemaps} key
|
||||
* @param {BasemapLayerOptions} [options]
|
||||
* @returns {BasemapLayer}
|
||||
*/
|
||||
function basemapLayer(key: Basemaps, options?: BasemapLayerOptions): BasemapLayer;
|
||||
|
||||
interface EsriTileLayerOptions extends L.TileLayerOptions {
|
||||
/**
|
||||
* URL of the Map Service with a tile cache.
|
||||
*
|
||||
* @type {string}
|
||||
* @memberof EsriTileLayerOptions
|
||||
*/
|
||||
url: string;
|
||||
/**
|
||||
* If correctZoomLevels is enabled this controls the amount of tolerance for the difference at each scale level for remapping tile levels.
|
||||
* Default 0.1
|
||||
*
|
||||
* @type {number}
|
||||
* @memberof EsriTileLayerOptions
|
||||
*/
|
||||
zoomOffsetAllowance?: number;
|
||||
/**
|
||||
* URL of an ArcGIS API for JavaScript proxy or ArcGIS Resource Proxy to use for proxying requests.
|
||||
*
|
||||
* @type {string}
|
||||
* @memberof EsriTileLayerOptions
|
||||
*/
|
||||
proxy?: string;
|
||||
/**
|
||||
* Dictates if the service should use CORS when making GET requests.
|
||||
*
|
||||
* @type {boolean}
|
||||
* @memberof EsriTileLayerOptions
|
||||
*/
|
||||
userCors?: boolean;
|
||||
/**
|
||||
* Will use this token to authenticate all calls to the service.
|
||||
*
|
||||
* @type {string}
|
||||
* @memberof EsriTileLayerOptions
|
||||
*/
|
||||
token?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Access tiles from ArcGIS Online and ArcGIS Server to visualize and identify features. Copyright text from the service is added to map attribution automatically.
|
||||
*
|
||||
* @class TiledMapLayer
|
||||
* @extends {L.TileLayer}
|
||||
*/
|
||||
class TiledMapLayer extends L.TileLayer {
|
||||
constructor(options: EsriTileLayerOptions);
|
||||
/**
|
||||
* Authenticates this service with a new token and runs any pending requests that required a token.
|
||||
*
|
||||
* @param {string} token
|
||||
* @returns {this}
|
||||
* @memberof TiledMapLayer
|
||||
*/
|
||||
authenticate(token: string): this;
|
||||
/**
|
||||
* Requests metadata about this Feature Layer. Callback will be called with error and metadata.
|
||||
*
|
||||
* @param {CallbackHandlerFn} callback
|
||||
* @param {*} context
|
||||
* @returns {this}
|
||||
* @memberof TiledMapLayer
|
||||
*/
|
||||
metadata(callback: CallbackHandlerFn, context: any): this;
|
||||
identify() : any;
|
||||
find(): any;
|
||||
query(): any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Access tiles from ArcGIS Online and ArcGIS Server to visualize and identify features. Copyright text from the service is added to map attribution automatically.
|
||||
*
|
||||
* @param {EsriTileLayerOptions} options
|
||||
* @returns {TiledMapLayer}
|
||||
*/
|
||||
function tiledMapLayer(options: EsriTileLayerOptions): TiledMapLayer;
|
||||
}
|
||||
}
|
||||
|
||||
declare module 'esri-leaflet' {
|
||||
export = L;
|
||||
}
|
||||
22
types/esri-leaflet/tsconfig.json
Normal file
22
types/esri-leaflet/tsconfig.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"esri-leaflet-tests.ts"
|
||||
]
|
||||
}
|
||||
1
types/esri-leaflet/tslint.json
Normal file
1
types/esri-leaflet/tslint.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Reference in New Issue
Block a user