openlayers 加载百度、高德、google瓦片地图
·
1、加载高德地图
//高德地图
var AMapLayer = new ol.layer.Tile({
source: new ol.source.XYZ({
url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}'
})
});
2、google地图
//google地图
var googleMapLayer = new ol.layer.Tile({
source: new ol.source.XYZ({
url: 'http://www.google.cn/maps/vt/pb=!1m4!1m3!1i{z}!2i{x}!3i{y}!2m3!1e0!2sm!3i380072576!3m8!2szh-CN!3scn!5e1105!12m4!1e68!2m2!1sset!2sRoadmap!4e0!5m1!1e0'
})
});
3、百度地图
//百度地图
var projection = ol.proj.get("EPSG:3857");
var resolutions = [];
for (var i = 0; i < 19; i++) {
resolutions[i] = Math.pow(2, 18 - i);
}
var tilegrid = new ol.tilegrid.TileGrid({
origin: [0, 0],
resolutions: resolutions
});
var baidu_source = new ol.source.TileImage({
projection: projection,
tileGrid: tilegrid,
tileUrlFunction: function (tileCoord, pixelRatio, proj) {
if (!tileCoord) {
return "";
}
var z = tileCoord[0];
var x = tileCoord[1];
var y = tileCoord[2];
if (x < 0) {
x = "M" + (-x);
}
if (y < 0) {
y = "M" + (-y);
}
return "http://online3.map.bdimg.com/onlinelabel/?qt=tile&x=" + x + "&y=" + y + "&z=" + z + "&styles=pl&udt=20170809&scaler=1&p=1";
}
});
var baiduMapLayer = new ol.layer.Tile({
source: baidu_source
});
4、map中调用
var map = new ol.Map({
layers: [googleMapLayer],//AMapLayer, baiduMapLayer
target: 'map',
view: new ol.View({
center: [10997148, 4569099],
zoom: 4
})
});
【增加】调用百度的蓝黑色背景地图
/**
* 默认地图样式(normal)
* 清新蓝风格(light)
* 黑夜风格(dark)
* 红色警戒风格(redalert)
* 精简风格(googlelite)
* 自然绿风格(grassgreen)
* 午夜蓝风格(midnight)
* 浪漫粉风格(pink)
* 青春绿风格(darkgreen)
* 清新蓝绿风格(bluish)
* 高端灰风格(grayscale)
* 强边界风格(hardedge)
*/
var baidu_layer = getBaiduCustomimage("midnight");
function getBaiduCustomimage(customid){
var projection = ol.proj.get("EPSG:3857");
var resolutions = [];
for (var i = 0; i < 19; i++) {
resolutions[i] = Math.pow(2, 18 - i);
}
var tilegrid = new ol.tilegrid.TileGrid({
origin: [0, 0],
resolutions: resolutions
});
var baidu_source = new ol.source.TileImage({
projection: projection,
tileGrid: tilegrid,
tileUrlFunction: function(tileCoord, pixelRatio, proj){
if(!tileCoord){
return "";
}
var z = tileCoord[0];
var x = tileCoord[1];
var y = tileCoord[2];
if(x<0){
x = "M"+(-x);
}
if(y<0){
y = "M"+(-y);
}
return "http://api2.map.bdimg.com/customimage/tile?&x="+x+
"&y="+y+"&z="+z+
"&udt=20170428&scale=1&ak=E4805d16520de693a3fe707cdc962045&customid="+customid;
}
});
return new ol.layer.Tile({
source: baidu_source
});
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)