可视化优化:百度地图内网访问(通过nginx代理)

1、首先下载你所使用版本的百度地图api文件

我用的是最新的(https://api.map.baidu.com/getscript)下载到本地。

2、找到其中所有的url地址,我找到的如下:

gss0.bdstatic.com

maponline0.bdimg.com
maponline1.bdimg.com
maponline2.bdimg.com
maponline3.bdimg.com 

gsp0.baidu.com

api.map.baidu.com


shangetu0.map.bdimg.com
shangetu1.map.bdimg.com
shangetu2.map.bdimg.com
shangetu3.map.bdimg.com
shangetu4.map.bdimg.com

d0.map.baidu.com
d1.map.baidu.com
d2.map.baidu.com
d3.map.baidu.com

loc.map.baidu.com

g0.api.map.baidu.com
g1.api.map.baidu.com
g2.api.map.baidu.com
g3.api.map.baidu.com

its.map.baidu.com:8002

pcsv0.map.bdimg.com
pcsv1.map.bdimg.com
pcsv2.map.bdimg.com

j.map.baidu.com

map.baidu.com
wuxian.baidu.com(ping 不通)

api0.map.bdimg.com
api1.map.bdimg.com
api2.map.bdimg.com

webmap0.map.bdimg.com

mapclick.map.baidu.com(ping 不通)

or.map.bdimg.com

www.w3.org

lbsyun.baidu.com

3、在刚刚下载的文件里面,把上面的所有地址的前面加上如下格式:

内网ip地址:端口号/    (eg:10.1.3.120:8030/maponline0.bdimg.com)

4、改完之后保存文件为  mapApi.min.js

5、将该文件放到项目下,并且通过script标签引用

6、接下来配置nginx服务器,把上面ping通的网址在nginx服务器中配置,ping不通的就不要配置了,否则会报错


	
	## 百度地图资源映射关系
	server {
		listen 8030;
		server_name localhost;
		
		##此为api入口,需设置ak参数
		location /api.map.baidu.com/ {
                        set $args "ak=ndTT3OvHXm8CftOj0EhVDGnaSmXom7Fw";
                        proxy_pass http://api.map.baidu.com/;
		}
		
		location /its.map.baidu.com/ {
			proxy_pass http://its.map.baidu.com/;
		}	
		
		location /gss0.bdstatic.com/ {
			proxy_pass http://gss0.bdstatic.com/;
		}		
		
		location /maponline0.bdimg.com/ {
			proxy_pass http://maponline0.bdimg.com/;
		}
		
		location /maponline1.bdimg.com/ {
			proxy_pass http://maponline1.bdimg.com/;
		}
		
		location /maponline2.bdimg.com/ {
			proxy_pass http://maponline2.bdimg.com/;
		}
		
		location /maponline3.bdimg.com/ {
			proxy_pass http://maponline3.bdimg.com/;
		}
		
		location /gsp0.baidu.com/ {
			proxy_pass http://gsp0.baidu.com/;
		}

		location /shangetu0.map.bdimg.com/ {
			proxy_pass http://shangetu0.map.bdimg.com/;
		}
		
		location /shangetu1.map.bdimg.com/ {
			proxy_pass http://shangetu1.map.bdimg.com/;
		}
		
		location /shangetu2.map.bdimg.com/ {
			proxy_pass http://shangetu2.map.bdimg.com/;
		}
		
		location /shangetu3.map.bdimg.com/ {
			proxy_pass http://shangetu3.map.bdimg.com/;
		}
		
		location /shangetu4.map.bdimg.com/ {
			proxy_pass http://shangetu4.map.bdimg.com/;
		}
		
		location /d0.map.baidu.com/ {
			proxy_pass http://d0.map.baidu.com/;
		}
		
		location /d1.map.baidu.com/ {
			proxy_pass http://d1.map.baidu.com/;
		}
		
		location /d2.map.baidu.com/ {
			proxy_pass http://d2.map.baidu.com/;
		}
		
		location /d3.map.baidu.com/ {
			proxy_pass http://d3.map.baidu.com/;
		}
		
		location /loc.map.baidu.com/ {
			proxy_pass http://loc.map.baidu.com.com/;
		}
		
		location /g0.api.map.baidu.com/ {
			proxy_pass http://g0.api.map.baidu.com/;
		}
		
		location /g1.api.map.baidu.com/ {
			proxy_pass http://g1.api.map.baidu.com/;
		}
		
		location /g2.api.map.baidu.com/ {
			proxy_pass http://g2.api.map.baidu.com/;
		}
		
		location /g3.api.map.baidu.com/ {
			proxy_pass http://g3.api.map.baidu.com/;
		}
		
		location /pcsv0.map.bdimg.com/ {
			proxy_pass http://pcsv0.map.bdimg.com/;
		}
		
		location /pcsv1.map.bdimg.com/ {
			proxy_pass http://pcsv1.map.bdimg.com/;
		}
		
		location /pcsv2.map.bdimg.com/ {
			proxy_pass http://pcsv2.map.bdimg.com/;
		}
		
		location /j.map.baidu.com/ {
			proxy_pass http://j.map.baidu.com/;
		}
		
		location /map.baidu.com/ {
			proxy_pass http://map.baidu.com/;
		}
	   
		location /api0.map.bdimg.com/ {
			proxy_pass http://api0.map.bdimg.com/;         
		} 
		
		location /api1.map.bdimg.com/ {
			proxy_pass http://api1.map.bdimg.com/;         
		} 
		
		location /api2.map.bdimg.com/ {
			proxy_pass http://api2.map.bdimg.com/;         
		} 

		location /webmap0.map.bdimg.com/ {
			proxy_pass http://webmap0.map.bdimg.com/; 
		}
		
		location /or.map.bdimg.com/ {
			proxy_pass http://or.map.bdimg.com/;
		}
		
		location /www.w3.org/ {
			proxy_pass http://www.w3.org/;
		}
		
		location /lbsyun.baidu.com/ {
			proxy_pass http://lbsyun.baidu.com/;
		}
                
                location /static.tieba.baidu.com/ {
                        proxy_pass http://static.tieba.baidu.com/;
                }
    	       
    }
	

7、在设置nginx时如果不设置ak,内网访问时会报百度地图api未授权,所以必须在nginx里面配置

		##此为api入口,需设置ak参数
		location /api.map.baidu.com/ {
                        set $args "ak=ndTT3OvHXm8CftOj0EhVDGnaSmXom7Fw";
                        proxy_pass http://api.map.baidu.com/;
		}

现在你就可以通过内网访问你的百度地图了

你可能感兴趣的:(可视化地图开发)