google map 自定义地图类型maptype_悄悄俏俏

本文介绍如何在Google Map中更改地图类型名称,如将"卫星"更改为"XX卫星"。由于Google Map API未提供直接修改默认类型参数的选项,作者通过研究自定义MapType找到了解决方案。文中分享了实现添加自定义地图类型的封装方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用google map时想要更改地图类型的名字,比如“卫星”改为“XX卫星”等,而googlemap又没有提供修改默认地图类型参数的方法,只提供了获取默认类型参数的方法。

又研究了一下自定义的MapType,发现可以使用自定义的MapType来实现这个目的

封装了一个方法来实现添加自定义地图类型

public function addCoustomMapType(oldType:IMapType, newTypeName:String, newTypeAlt:String): void {
			this.map.addMapType(new MapType(oldType.getTileLayers(), oldType.getProjection(), newTypeName, new MapTypeOptions({
				shortName: "e",
				urlArg: oldType.getUrlArg(),
				maxResolution: oldType.getMaximumResolution(),
				minResolution: oldType.getMinimumResolution(),
				tileSize: oldType.getTileSize(),
				textColor: Color.BLACK,
				linkColor: Color.RED,
				errorMessage: "This sea tile could not be loaded",
				alt: newTypeAlt,
				radius: oldType.getRadius()
			})));
			
			
		}

调用时可以这样调用

addCoustomMapType(MapType.SATELLITE_MAP_TYPE, "satellite", "satellite map");
这样就实现通过卫星地图类型生成一个自定义名称的地图类型了,照着这个原理,可以将默认的4中类型全部更改为自定义的

addCoustomMapType(MapType.HYBRID_MAP_TYPE, "hybrid", "hybrid map");
addCoustomMapType(MapType.NORMAL_MAP_TYPE, "normal", "normal map");
addCoustomMapType(MapType.PHYSICAL_MAP_TYPE, "physical", "physical map");
完成后会发现地图类型上多了4个我们自定义的类型,然后再删除地图默认的4个即可

				this.removeMapType(MapType.NORMAL_MAP_TYPE);
				this.removeMapType(MapType.SATELLITE_MAP_TYPE);
				this.removeMapType(MapType.HYBRID_MAP_TYPE);
				this.removeMapType(MapType.PHYSICAL_MAP_TYPE);
在某些情况下,上述地图类型不能正常切换,后来又研究了一下API,发现一个貌似有用的办法

将上面的addCustomMapType方法改为

public function addCoustomMapType(oldType:IMapType, newTypeName:String, newTypeAlt:String): void {
			this.addMapType(new MapType(oldType.getTileLayers(), oldType.getProjection(), newTypeName, MapTypeOptions.getDefaultOptions()));
		}
这样就解决了不能正常切换的问题了




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值