浏览 9506 次
锁定老帖子 主题:电子地图--MapABC研究(二)地图编辑
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-08-26
普通用户使用地图无非就是查询出行路线、公交线路查询、日常生活查询,但对于商家而言就要多一种功能,那就是对自己位置的标注,以及内容的描述。 本次要研究的就是对商家有用的地图的编辑功能。 下面是个具体的例子: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <script type="text/javascript" src="http://api.mapabc.com/fmp/v1.0/js/fmp.js?key=f6c97a7f64063cfee7c2dc2157847204d4dbf09385481afc98c532e3a8066ae5f1a785336235b092"></script> <script type="text/javascript" src="http://api.mapabc.com/fmp/v1.0/js/mapcomponent.js?key=f6c97a7f64063cfee7c2dc2157847204d4dbf09385481afc98c532e3a8066ae5f1a785336235b092"></script> </head> <body> <div id="mapObj" style="width: 700px; height: 500px"></div> <script type="text/javascript"> //创建一个MmapOptions对象 var mapOptions = new MMapOptions(); //设置地图组件的Id mapOptions.mapId = "fmptest"; //设置地图的初始Zoom值 mapOptions.zoomLevel = 15; //设置地图的中心点 //mapOptions.center = new MLatLng("LQGXRMMVKHDLL", "JIOMSTNTPOLHLH"); //创建地图对象 var mapObj = new MMap("mapObj", mapOptions); //使用组件API var mapComponent = new MapComponent(mapObj); //设置城市中心点 mapComponent.setMapCityCenter("0371"); //注册导出地图数据事件 后执行 onexportMapData 方法 mapObj.addEventListener(MMap.EVENT_EXPORT_MAP_DATA, onexportMapData); function editMode(){ //设置地图为编辑模式 mapObj.setMapMode(MMapMode.EDIT); } //编辑模式下 添加点 function createPoint(){ //MStyle是一个图样式类 var defaultPointStyle = new MStyle(); defaultPointStyle.canBeTop = true; mapObj.addGeometry(MGeometry.TYPE_POINT, defaultPointStyle); } //导出地图数据事件处理函数 function onexportMapData(event){ alert(event.args); /** event.type=”onExportMapData” event.args=mapId,jsonString args 的值是一个以“,”分隔的字符串,其中: mapId:地图的Id jsonString:整个地图的几何对象的JSON 字符串。 **/ } //导出点的数据方法 function exportMapData(){ mapObj.exportMapData(); } //导出地图数据事件处理函数 function onexportMapData(event){ alert(event.args); /** event.type=”onExportMapData” event.args=mapId,jsonString args 的值是一个以“,”分隔的字符串,其中: mapId:地图的Id jsonString:整个地图的几何对象的JSON 字符串。 **/ } </script> 操作方法: 先在 地图上左键标点 并填入标题 内容点击确定. 然后点击导出数据<br /><br /> <input type="button" onClick="javascript:editMode();" value="进入编辑模式" /> <input type="button" onClick="javascript:createPoint();" value="添加点" /> <input type="button" onClick="javascript:exportMapData();" value="导出数据" /> </body> </html> 如果结合数据库存储的话,就可以把商家描述的信息保存对数据库中,以备下次使用。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-08-26
这个是免费的么? 介绍一下是否有java结合版本
|
|
返回顶楼 | |
发表时间:2008-08-27
首先回复二楼的兄弟,Mapabc可以说是免费的,不过它也有用于企业的,对于一般的应用,免费的就够啦。还有Mapabc是基于JS的,可以与Ajax相结合。
三楼的兄弟你说的是否被收购我就不是太清楚啦。 |
|
返回顶楼 | |
发表时间:2008-08-27
介绍这种API有点广告的嫌疑。这个API我也开发过,虽说免费,但地图最重要的是经纬度的数据,这个加密算法是MapABC自家标准,需要向其购买地图经纬度数据标注。
|
|
返回顶楼 | |
发表时间:2008-08-27
回复transist,首先声明我绝对没有做广告的意思,我也是因为项目的需要而已,我也去他们官方上面问啦,他们说这个加密算法是国家要求的,也没有办法,你的说那个地图经纬度数据的那部分现在已经开放出来啦,我在“电子地图--MapABC研究(一)”中,已经找城市的经纬度坐标及代码放在文件里啦,你可以去下看看。
|
|
返回顶楼 | |
发表时间:2008-08-27
呵呵,lz太言重了,我也是开玩笑而已。
他们开放只是他们采集的城市基础数据,至于应用所需的特定地理位置的经纬度数据还是需要他们标注的。就目前他们与其他终端厂商合作的盈利模式来说,我所知的有两点,一是他们专门有个数据标注中心,这个工作是收费的;二是他们提供的基础数据中强行包含很多赞助商数据,也就是广告。当然为了占领市场,对于大的终端厂商,一般第一点可以不收费的。 |
|
返回顶楼 | |