摘要:
你玩魔兽不?你知道如何做一张魔兽地图不?!
快来看此文吧!
---------------------------------------------
一、制作魔兽地图的准备工作
其实,你只需要准备一些地图的瓦片图,就可以了。
用切片工具,把一张完整的图片(最好大一些,清楚一些),切成小片。(下周我贴这个工具的下载链接出来。留个悬念,哈哈。)
正式公布切图工具链接: http://openapi.baidu.com/Tools/TileCutter.rar
二、了解百度地图API的地图图层接口
构造函数 | 描述 |
TileLayer([opts:TileLayerOptions]) |
创建一个地图图层实例。 |
接口地址:http://openapi.baidu.com/map/classReference.html#anchor6_TileLayer
使用这个接口,就可以将切好的地图瓦片铺在原有的百度地图上。
var tileLayer = new BMap.TileLayer();
tileLayer.getTilesUrl = function(tileCoord, zoom) {
var x = tileCoord.x;
var y = tileCoord.y;
var url = 'images/tiles/' + zoom + '/tile' + x + '_' + y + '.png';
return url;
}
tileLayer.getTilesUrl = function(tileCoord, zoom) {
var x = tileCoord.x;
var y = tileCoord.y;
var url = 'images/tiles/' + zoom + '/tile' + x + '_' + y + '.png';
return url;
}
三、限制地图的显示级别
如果,你只切了1-4级的地图,那么你的魔兽地图应该只能显示1-4级。
所以,要对map的显示做一个限制。看下面源代码第一行。
还需要规定出自定义地图类型,看源代码第二行。
第三行,添加的鱼骨控件,只会显示1-4级哟~因为在第一行控制了minZoom和maxZoom。
var MyMap = new BMap.MapType('MyMap', tileLayer, {minZoom: 1, maxZoom: 4});
var map = new BMap.Map('container', {mapType: MyMap});
map.addControl(new BMap.NavigationControl());
var map = new BMap.Map('container', {mapType: MyMap});
map.addControl(new BMap.NavigationControl());
----------------------------------------------------------------------------------
示例:http://openapi.baidu.com/map/exam/example.html?v=1.2&7_20#7&20