Skip to content

Commit

Permalink
Merge pull request #1 from xhwgood/main
Browse files Browse the repository at this point in the history
feat: 增加 ImageGroundLayer 类型定义,优化 InfoWindow 类型定义
  • Loading branch information
iblq authored Feb 15, 2023
2 parents 4a7a1fd + f83b2d4 commit 8c5e6cd
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 13 deletions.
26 changes: 18 additions & 8 deletions tmap/map.d.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
/// <reference path="latLng.d.ts" />
/// <reference path="control.d.ts" />
/// <reference path="point.d.ts" />
/// <reference path="./overlay/geometryOverlay.d.ts" />

declare namespace TMap {
interface Offset {
x: number;
Expand Down Expand Up @@ -170,7 +172,7 @@ declare namespace TMap {
*/
latLng: LatLng;
/**
* 事件发生时的屏幕位置,返回{x:number, y:number}格式
* 事件发生时的屏幕位置,返回 `{x: number, y: number}` 格式
*/
point: Offset;
/**
Expand Down Expand Up @@ -198,18 +200,18 @@ declare namespace TMap {
setViewMode(viewMode: ViewMode): this;
setBaseMap(baseMap: BaseMap | BaseMap[]): this;
setMapStyleId(mapStyleId: string): this;
panTo(latLng: LatLng, opts: EaseOptions): this;
zoomTo(zoom: number, opts: EaseOptions): this;
rotateTo(rotation: number, opts: EaseOptions): this;
pitchTo(pitch: number, opts: EaseOptions): this;
panTo(latLng: LatLng, opts?: EaseOptions): this;
zoomTo(zoom: number, opts?: EaseOptions): this;
rotateTo(rotation: number, opts?: EaseOptions): this;
pitchTo(pitch: number, opts?: EaseOptions): this;
easeTo(
mapStatus: {
center: LatLng;
zoom: number;
rotation: number;
pitch: number;
},
opts: EaseOptions
opts?: EaseOptions
): this;
fitBounds(bounds: LatLngBounds, options: FitBoundsOptions): this;
getCenter(): LatLng;
Expand All @@ -234,8 +236,16 @@ declare namespace TMap {
*/
destroy(): GeometryOverlay;
getLayer(id: string): GeometryOverlay;
projectToContainer(latLng: LatLng): Offset;
unprojectFromContainer(offset: Offset): LatLng;
/**
* 经纬度坐标转换为容器像素坐标,容器像素坐标系以地图容器左上角点为原点
* @param latLng 经纬度坐标
*/
projectToContainer(latLng: LatLng): Point;
/**
* 容器像素坐标转换为经纬度坐标
* @param offset 像素坐标
*/
unprojectFromContainer(pixel: Point): LatLng;
on(eventName: string, listener: Function): this;
on(eventName: MapEventName, listener: MapEventListener): this;
on(eventName: MapOtherEventName, listener: () => void): this;
Expand Down
43 changes: 43 additions & 0 deletions tmap/overlay/imageGroundLayer.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/// <reference path="../map.d.ts" />
/// <reference path="../latLng.d.ts" />

declare namespace TMap {
interface ImageGroundLayerOptions {
/** 图片覆盖的经纬度范围 */
bounds: TMap.LatLngBounds;
/** 图片url或base64,如果图片为url格式,图片服务器必须允许跨域访问 */
src: string;
/** 展示图层的地图对象 */
map?: TMap.Map;
/** 最小缩放层级,当地图缩放层级小于该值时该图层不显示,默认为3 */
minZoom?: number;
/** 最大缩放层级,当地图缩放层级大于该值时该图层不显示,默认为20 */
maxZoom?: number;
/** 是否可见,默认为true */
visible?: boolean;
/** 图层绘制顺序,默认为1 */
zIndex?: number;
/** 图层透明度,默认为1 */
opacity?: number;
}

class ImageGroundLayer {
constructor(options: ImageGroundLayerOptions);
/** 设置展示图层的地图对象。 */
setMap(map: Map): this;
/** 设置展示图层的地理范围。 */
setBounds(bounds: LatLngBounds): this;
/** 设置图层是否可见。 */
setVisible(visible: Boolean): this;
/** 设置图层绘制顺序。 */
setZIndex(zIndex: Number): this;
/** 设置图层透明度。 */
setOpacity(opacity: Number): this;
/** 更新图层资源路径,相同的url不会被更新。 */
setSrc(src: String): this;
/** 获取地图对象,若无返回null。 */
getMap(): Map;
/** 获取展示图层的地理范围。 */
getBounds(): LatLngBounds;
}
}
10 changes: 5 additions & 5 deletions tmap/overlay/infoWindow.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ declare namespace TMap {
interface InfoWindowOptions {
map: TMap.Map; // (必需)显示信息窗的地图。
position: LatLng; // (必需)信息窗的经纬度坐标。
content: string; // 信息窗显示内容,默认为空字符串。
zIndex: number; // 信息窗的z-index值,默认为0。
offset: Object; // 信息窗相对于position对应像素坐标的偏移量,x方向向右偏移为正值,y方向向下偏移为正值,默认为{x:0, y:0}。
enableCustom: boolean;
content?: string; // 信息窗显示内容,默认为空字符串。
zIndex?: number; // 信息窗的z-index值,默认为0。
offset?: Object; // 信息窗相对于position对应像素坐标的偏移量,x方向向右偏移为正值,y方向向下偏移为正值,默认为{x:0, y:0}。
enableCustom?: boolean;
}

class InfoWindow extends GeometryOverlay {
Expand All @@ -31,7 +31,7 @@ declare namespace TMap {
/**
* 设置信息窗口所在的map对象,传入null则代表将infoWindow从Map中移除。
*/
setMap(map: Map): this;
setMap(map: Map | null): this;
/**
* 获取信息窗口所在的map对象。
*/
Expand Down

0 comments on commit 8c5e6cd

Please sign in to comment.