MapBar的Api使用简略说明(下)
事件:
MEvent类
最重要最常用的一段事件代码:
MEvent.addListener(maplet, "click", function() { alert("您点击了地图。");}) 三个参数分别是将事件注册给哪个元素,注册的什么时间,事件发生做什么。第三个参数是个回调函数。但是要注意到是第二个参数是mapbar自定义的事件,一般是常用的事件去掉on,可以参看类参考具体有哪些事件。回调函数可以带有参数。
还可以将事件绑定到对象:
var mapApp = new MyApp();function MyApp(){ this.counter = 0; MEvent.bind(maplet,"click",this,this.onMapClick);}MyApp.prototype.onMapClick=function(){ this.counter++; alert("这是您第 " + this.counter + " 次点击地图");}
补充一点:热点
也是一种叠加层,类描述是这样的
addHotspot(flag, point, label, minLevel, maxLevel)增加地图热点,请参见 叠加层 章节的 地图热点 小节。参数:
[*]flag: String 类型,固定输入 "mapbar" 即可。
[*]point: MPoint 类型,包含地图热点中心点经纬度的点对象。
[*]label: String 类型,热点标签文字,该标签内容不会显示在地图上,它被传递到 Maplet 对象的 hotspot 事件中。
[*]minLevel: Integer 类型,最低缩放级别。
[*]maxLevel: Integer 类型,最低缩放级别。
返回值:无。
备注:参数 minLevel 必须小于等于 maxLevel。
热点区域适用于可以快速显示详细的地点信息,也是热点意思的所在。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> New Document </TITLE></HEAD><script type="text/javascript" src="http://union.mapbar.com/apis/maps/free?f=mapi&v=31 &k=aCW9cItqL7sqT7AxaB0zdHTyNel7NHTrEeJsZBDzZIP4OYQ nEl==@Tt@TI7qBceaZrP=z9Nq7cQdJeZ=@ZZNaTaPsa=9Waa9P at=4Pq0IBtZItqa==BsIl9EZPa9/29="></script><script language="javascript"> var maplet = null; function initMap(){ maplet = new Maplet("mapbar"); maplet.addHotspot("mapbar", new MPoint(116.38689,39.90578), "北京市", 2, 4); maplet.centerAndZoom(new MPoint(116.38689,39.90578), 2); maplet.addControl(new MStandardControl()); MEvent.addListener(maplet, "hotspot", goCity) } function goCity(label) { maplet.centerAndZoom(new MPoint(label),10); }</script><BODY><div id="mapbar" style="width:500px;height:300px"></div> <buttonTYPE=button >LoadMap</button></BODY></HTML>
使用以上API就可以建立地图应用了,地图应用的关键还在于创意,有更好的创意,再加上技术的实现才会创造更多的价值。
Mapbar的优点在于使用简单,完全免费。文档也比较符合java开发者的习惯。不过看看它的条款就知道一路照搬google的而且诸多保留×××权力之类。没有进行压力测试,但是感觉还可以忍受。比51地图还快一点。建立入门级的应用是个不错的选择。
页:
[1]