论坛首页 Java企业应用论坛

电子地图--MapABC研究(二)地图编辑

浏览 9489 次
精华帖 (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>
如果结合数据库存储的话,就可以把商家描述的信息保存对数据库中,以备下次使用。


   发表时间:2008-08-26  
这个是免费的么? 介绍一下是否有java结合版本
0 请登录后投票
   发表时间:2008-08-27  
  首先回复二楼的兄弟,Mapabc可以说是免费的,不过它也有用于企业的,对于一般的应用,免费的就够啦。还有Mapabc是基于JS的,可以与Ajax相结合。
  三楼的兄弟你说的是否被收购我就不是太清楚啦。
0 请登录后投票
   发表时间:2008-08-27  
介绍这种API有点广告的嫌疑。这个API我也开发过,虽说免费,但地图最重要的是经纬度的数据,这个加密算法是MapABC自家标准,需要向其购买地图经纬度数据标注。
0 请登录后投票
   发表时间:2008-08-27  
  回复transist,首先声明我绝对没有做广告的意思,我也是因为项目的需要而已,我也去他们官方上面问啦,他们说这个加密算法是国家要求的,也没有办法,你的说那个地图经纬度数据的那部分现在已经开放出来啦,我在“电子地图--MapABC研究(一)”中,已经找城市的经纬度坐标及代码放在文件里啦,你可以去下看看。
0 请登录后投票
   发表时间:2008-08-27  
呵呵,lz太言重了,我也是开玩笑而已。
他们开放只是他们采集的城市基础数据,至于应用所需的特定地理位置的经纬度数据还是需要他们标注的。就目前他们与其他终端厂商合作的盈利模式来说,我所知的有两点,一是他们专门有个数据标注中心,这个工作是收费的;二是他们提供的基础数据中强行包含很多赞助商数据,也就是广告。当然为了占领市场,对于大的终端厂商,一般第一点可以不收费的。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics