uniapp实现使用renderjs加载高德地图,并添加geoServer图层服务(APP端)

本文介绍了如何在UniApp中,由于map组件在Vue文件中的限制,选择使用RenderJS加载高德地图,并展示了如何在逻辑层之外的视图层中添加geoserver图层,包括初始化地图、加载WMS服务的过程。
摘要由CSDN通过智能技术生成

uni自带的有map组件,功能还是比较强大,但是在vue文件下很多功能受限,必须在nvue文件中才能发挥出功能。因此,便选择使用renderjs来加载高德地图,在uniapp中script中带renderjs的是视图层,普通script标签是逻辑层,uniapp中要想实现geoserver图层添加,只能使用renderjs,逻辑层和视图层的概念,可以查看uniapp官网renderjs | uni-app官网

html中 

<template>
	<view class="">
		<view id="container"></view>
	</view>
</template>

 css中

<style>
	#container {
		width:100%;
		height:1200rpx;
	}
</style>
<script module="test" lang="renderjs">
	// 视图层
	export default {
		data() {
			return {
				// ...
				map: null,
			}
		},
		mounted() {
            // 高德地图申请的web端的密钥
			window._AMapSecurityConfig = {
				securityJsCode: '4dcaab4b0fb31403b0079498c9eb433e',
			}  // 这里可写可不写
			var url = "https://webapi.amap.com/maps?v=2.0&key=7744888565284b00b2f00fc098d71ce8"; // 高德地图web端的key
			var jsapi = document.createElement('script');
			jsapi.charset = 'utf-8';
			jsapi.src = url;
			jsapi.onload = this.initMap.bind(this);
			document.head.appendChild(jsapi);
		},
		methods: {
			initMap() {
				this.map = new AMap.Map('container', {
					resizeEnable: true,
					center: [119.902725, 35.88],
					// zooms: [14, 20], //设置地图级别范围
					zoom: 8,
				})
				this.map.on('complete', () => {
					// console.log('加载完成')
					this.GetDk();
				})
			},
            // 加载wms服务
			GetDk() {
				const Dk = new AMap.TileLayer.WMS({
					url: "http://123.56.139.127:8899/geoserver/city1/wms", // wms服务的url地址
					blend: false, // 地图级别切换时,不同级别的图片是否进行混合
					tileSize: 512, // 加载WMS图层服务时,图片的分片大小
					params: {
						LAYERS: "city1:city1",
						VERSION: "1.3.0",
					}, // OGC标准的WMS地图服务的GetMap接口的参数
				});
				this.map.add(Dk);
				this.map.setCenter([120.10064, 36.01655]);
				this.map.setZoom(16);
			},
		}
	}
</script>

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
OpenLayers是一个开源的JavaScript库,用于在Web上创建交互式地图应用程序。它支持加载各种地图图层,包括Geoserver图层。下面是使用OpenLayers加载Geoserver图层的一般步骤: 1. 引入OpenLayers库文件。你可以从OpenLayers官方网站下载最新版本的库文件,并将其引入到你的HTML文件中。 ```html <script src="path/to/openlayers.js"></script> ``` 2. 创建地图容器。在HTML文件中创建一个具有唯一ID的`<div>`元素,用于容纳地图。 ```html <div id="map"></div> ``` 3. 初始化地图对象。在JavaScript代码中,使用OpenLayers的`Map`类来创建一个地图对象,并指定地图容器的ID。 ```javascript var map = new ol.Map({ target: 'map' }); ``` 4. 创建Geoserver图层使用OpenLayers的`TileLayer`类来创建一个Geoserver图层,并指定Geoserver图层URL。 ```javascript var geoserverLayer = new ol.layer.Tile({ source: new ol.source.TileWMS({ url: 'http://your-geoserver-url.com/geoserver/wms', params: { 'LAYERS': 'your-layer-name' } }) }); ``` 5. 将Geoserver图层添加到地图中。使用`addLayer`方法将Geoserver图层添加到地图对象中。 ```javascript map.addLayer(geoserverLayer); ``` 6. 设置地图视图。使用`View`类来设置地图的中心点和缩放级别。 ```javascript var view = new ol.View({ center: ol.proj.fromLonLat([longitude, latitude]), zoom: 10 }); map.setView(view); ``` 以上是使用OpenLayers加载Geoserver图层的基本步骤。你可以根据自己的需求进行进一步的定制和配置。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值