概述
解决思路:
1.在瓦片地址前加上内网ip和端口
2.在可同时访问内网和外网的机器上部署nginx
3.通过nginx监听内网端口,把瓦片的请求转发到外网
地图页面
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Leaflet使用Nginx代理实现内网访问百度地图瓦片</title>
<link rel="stylesheet" href="js/leaflet/leaflet.css" />
<script src="js/leaflet/leaflet.js"></script>
<script src="js/leaflet/proj4-compressed.js"></script>
<script src="js/leaflet/proj4leaflet.js"></script>
<script src="js/leaflet/leaflet-bmap.js"></script>
<style>
html,
body {
height: 100%;
margin: 0;
}
.lmap {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="lmap" class="lmap"></div>
<script>
const lmap = L.map('lmap', { crs: crs, center: L.latLng(34.35323, 108.941291), zoom: 4 });
new L.TileLayer('http://192.168.1.111:9998/online{s}.map.bdimg.com/tile/?qt=tile&x={x}&y={y}&z={z}&styles=pl', {
maxZoom: 21,
minZoom: 3,
subdomains: [0, 1, 2],
tms: true,
}).addTo(lmap);
</script>
</body>
</html>
Nginx代理配置
server {
listen 9998;
server_name 192.168.1.111;
location /online0.map.bdimg.com/ {
proxy_pass http://online0.map.bdimg.com/;
}
location /online1.map.bdimg.com/ {
proxy_pass http://online1.map.bdimg.com/;
}
location /online2.map.bdimg.com/ {
proxy_pass http://online2.map.bdimg.com/;
}
location /online3.map.bdimg.com/ {
proxy_pass http://online3.map.bdimg.com/;
}
location /online4.map.bdimg.com/ {
proxy_pass http://online4.map.bdimg.com/;
}
}
页面效果
参考资料:https://blog.csdn.net/qq_38491310/article/details/87301919
最后
以上就是会撒娇太阳为你收集整理的Leaflet使用Nginx代理,实现内网访问外网百度地图瓦片的全部内容,希望文章能够帮你解决Leaflet使用Nginx代理,实现内网访问外网百度地图瓦片所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复