天地图二,修改地图主题颜色,颜色可以随意定义。

自定义天地图颜色主题的JavaScript实现
该文章已生成可运行项目,

天地图二,修改地图主题颜色,颜色可以随意定义。

天地图使用过程中,原官方文档中只支持map.setStyle的两种替换地图主题色,对项目的局限性很大。
这里采用的不是webGIS中openlayers的方式修改地图颜色,而是在设置基本主题后对页面进行强制修改主题色,下边是示例代码

	//设置主题色
	let example = document.getElementById("mapDiv");
	example.style.backgroundColor = mColor;

下边是完整代码示例

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <meta name="keywords" content="天地图"/>
    <title>天地图-地图API-范例-经纬度直投地图</title>
  

   <script type="text/javascript" src=" https://code.jquery.com/jquery-1.12.4.min.js"></script>
    <script type="text/javascript" src="http://api.tianditu.gov.cn/api?v=4.0&tk=您的密钥"></script>
    <style type="text/css">body,html{width:100%;height:100%;margin:0;font-family:"Microsoft YaHei"}#mapDiv{width:100%;height:400px}input,b,p{margin-left:5px;font-size:14px}</style>
    <script>
        var map;
        var zoom = 12;
        function onLoad() {
            map = new T.Map('mapDiv', {
                projection: 'EPSG:4326'
            });
            map.centerAndZoom(new T.LngLat(116.40769, 39.89945), zoom);
        }
      
      window.onload = function() {
      	onLoad()
      	//设置主题色
		let example = document.getElementById("mapDiv");
		example.style.backgroundColor = mColor;
      }
    </script>
</head>
<body>
<div id="mapDiv"></div>
<p>本示例演示如何显示经纬度直投地图。</p>
</body>
</html>
本文章已经生成可运行项目
天地图是一款由国家地理信息局推出的在线地图服务系统,广泛应用于各类地理信息系统中。如果需要在天地图修改河道的颜色样式,可以通过以下几种方式实现: - **使用天地图的API自定义图层**:天地图提供了JavaScript API接口,允许开发者通过调用相关方法对地图上的特定要素进行样式调整。可以通过创建矢量图层并设置样式属性来改变河道颜色。例如,在代码中添加类似以下内容: ```javascript var vectorLayer = new T.VectorLayer(); var feature = new T.FeatureCollection(); // 添加河道数据,并设置线段样式 feature.setStyle({ strokeColor: "#FF0000", // 设置河道线条颜色为红色 strokeWeight: 3 // 设置河道线条宽度 }); vectorLayer.addFeatures(feature); map.addLayer(vectorLayer); ``` - **利用WMS服务覆盖河道样式**:天地图支持通过Web Map Service (WMS)协议加载外部图层。可以搭建自己的WMS服务器(如GeoServer),将河道数据作为独立图层发布,并在其样式文件(SLD)中定义所需的颜色。然后通过天地图API将此WMS图层叠加到基础地图上。 - **结合GeoJSON或KML数据动态渲染**:如果已有河道的矢量数据(GeoJSON或KML格式),可以直接将其加载到天地图中,并在解析数据时为其赋予指定样式。例如,使用T.GeoJsonLayer类加载GeoJSON数据,并在初始化时设置样式参数: ```javascript var geojsonLayer = new T.GeoJsonLayer('http://example.com/rivers.geojson', { style: { color: '#00FF00' // 河道颜色设置为绿色 } }); map.addLayer(geojsonLayer); ``` - **后端数据处理与样式映射**:若需大规模更改河道显示效果,可以在数据源层面进行处理。例如,将河道数据存储于PostGIS数据库,并在查询时根据属性值返回不同的样式参数,前端依据这些参数动态绘制河道颜色。 以上方法可根据具体应用场景选择使用,以满足在天地图中自定义河道颜色的需求。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈攻城狮s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值