`
happysoul
  • 浏览: 404178 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Mapbar API 简单使用

阅读更多
刚看了一篇帖子 http://www.iteye.com/topic/566712
介绍关于地图API 正好近期做的也是地图,顺便拿出来分享一下
我调研的结果没有用Google了的地图,原因是因为速度问题,显示的时间比较长,再有功能没有必要用那么多
对于 地产 教育 商城 餐厅 等显示简单的功能足够了
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
<title>地图标记</title>
<script type="text/javascript" src="http://union.mapbar.com/apis/maps/free?f=mapi&v=31.3&k=aCW9cItqL7sqT7AxaB0zdHZoZSWmbBsuT7JhMHTsMeD6ZIl9NzFsZHT=@JBL979@Iu7lJJZWWq0IDu9xZMzMxq7I9AhH7LAAA6hqzZHZZLTbZZauxlDz7C7DD9ZCFGT="></script>
<script type="text/javascript">
function $$(id){return document.getElementById(id);}

//静态变量
var cx=116.39087;
var cy=39.91978;
var cc="北京市";

var marker = null; 
var maplet = null;
var flag = false;

function initMap(){
	maplet = new Maplet("mapbar");
	maplet.centerAndZoom(new MPoint(cx,cy),9);
	maplet.addControl(new MStandardControl());
	maplet.clickToCenter = false;
	$$("keyword").focus();
}

window.onload=function(){
	$$("cccity").innerHTML=cc;
	$$("city").value=cc;
	document.title=cc;
	initMap();
	resizemap();
	window.onresize=function(){
		resizemap();
	}
}

//自适应窗口大小
function resizemap(){
	if(maplet){
		var xx=document.body.clientWidth;
		var yy=document.body.clientHeight-80;
		if(xx<800)xx=800;	//宽度不得小于800
		if(yy<300)yy=300;	//高度不得小于300
		maplet.resize(xx,yy);
	}
}

//点击监听
var myEventListener;
function add(){
	myEventListener = MEvent.addListener(maplet,"click",function(evt,point){
		if(flag) {maplet.clearOverlays();}

		if(!point) alert("获取经纬度失败,请刷新页面后重新操作。");
		//alert(point.lon,point.lat);
		$$("x").value = point.lon;
		$$("y").value = point.lat;

		marker = new MMarker(point,new MIcon("http://union.mapbar.com/apidoc/images/tb1.gif",32,32,18,32)); 
		maplet.addOverlay(marker); 
		marker.setEditable(false); 
		flag = true;
		dells();	//标记点后移除监听事件
	});
}

//移除监听,清空显示框
function del(){
	maplet.clearOverlays();
	dells();
	$$("x").value='';
	$$("y").value='';
}

//移除监听
function dells(){
	MEvent.removeListener(myEventListener);
}

//设置中心点
function setCenter(x,y,z){
	maplet.centerAndZoom(new MPoint(x,y), z);
}

//显示中心点
function getCenter(){
	var mPoint=maplet.getCenter();
	if($$("center")){$$("center").value=mPoint.lon+","+mPoint.lat+','+maplet.getZoomLevel();}
		else alert("中心点坐标:("+mPoint.lon+","+mPoint.lat+")"+maplet.getZoomLevel());
}

//查询mapbar
function search(){
	var city    = $$("city").value;
	var keyword = $$("keyword").value;
	if(keyword=="")keyword="故宫";
	var url = "http://www.mapbar.com/localsearch/index.jsp#ac=lc&keyword="+keyword+"&city="+city;
	var newWin = window.open(url,'newwindow');
	newWin.focus();
}


</script>
</head>
<body style="padding:0px;margin:0px;">
<div align=center >
<div style="float:left; margin-left:10px; margin-top:15px; margin-bottom:10px;">
<input type="button" value="添加" onclick="add()" style="padding:7px; ">
<input type="button" value="删除" onclick="del()" style="padding:7px; ">
</div>

<div style="float:left; height:50px; margin-left:10px; margin-top:10px; margin-bottom:10px;">
<table>
<tr><td>经度X:<input id="x" type="text" id='x'/></td></tr>
<tr><td>纬度Y:<input id="y" type="text" id='y'/></td></tr>
</table>
</div>

<div style="float:left; margin-top:20px;margin-left:10px;">
<span><a href='#' onclick='javascript:setCenter(cx,cy,8)' id="cccity"></a></span>
</div>

<div style="float:left; margin-top:15px; margin-left:5px;">
<input id="center"><br/><input type=button value='显示中心点' onclick="getCenter()">
</div>

<div style="float:left; height:50px; margin-left:5px; margin-top:10px; margin-bottom:10px;">
<table>
<form onsubmit="return false;">

<tr><td>城市:<input id="city" value=""></td><td><font color="red" size="3">外部搜索</font></td></tr>
<tr><td>查询:<input id="keyword" ></td><td><input type=submit onsubmit="return false;" value='查询mapbar' onclick="search()"></td></tr>
</form>
</table>
</div>

<div id="mapbar" style="width:382px;height:340px;float:left;"></div>
</body>
</html>



这个页面主要是用来标记点坐标,点“添加”-->然后点击地图就会返回点击位置的坐标
多余的功能是显示中心点坐标,可以在获取了新坐标后改变最上面的cx cy cc 就可以用于另一个城市了
中间的链接可以快速回到北京
因为使用的是Mapbar的api,地点查询功能属于付费项目,暂时用不到,就直接使用外部链接跳转的方式用来查找详细坐标



-------------------2011-12-21----------------------
发现api更新了以后地图无法使用,原来是key变更了...(附件中的key自己修改吧)
http://union.mapbar.com/apis/maps/free?f=mapi&v=31.3&k=aCW9cItqL7sqT7AxaB0zdHZoZSWmbBsuT7JhMHTsMeD6ZIl9NzFsZHT=@JBL979@Iu7lJJZWWq0IDu9xZMzMxq7I9AhH7LAAA6hqzZHZZLTbZZauxlDz7C7DD9ZCFGT=
  • 大小: 344.2 KB
分享到:
评论

相关推荐

    javascript+mapbar实现地图定位(Mapbar API)

    1. 地图显示:使用Mapbar API,开发者可以创建地图容器,设置地图的中心点、缩放级别,选择不同的地图样式(如卫星图、普通地图)。 2. 定位服务:Mapbar API提供了获取用户地理位置的功能,通过浏览器的...

    mapbarapi.rar_mapbarapi

    可以通过该文档可以快速的了解flash,并对flash的组件API和地图PAI进行快速了解

    MapBar的Api使用简略说明(上)

    MapBar API 使用简略说明(上) MapBar是一款知名的在线地图服务提供商,为开发者提供了丰富的API接口,使得我们可以轻松地在自己的应用或者网站中集成地图功能。本文将对MapBar API的基本使用进行简略说明,主要...

    mapbar API 图吧地图API

    图吧地图API,欢迎下载使用.让你轻松了解接口让你轻松了解接口

    mapbarapi.js

    mapbarapi.js控制地图显示格式的js文件,通过简单程序调用这个js文件,可以按照格式显示自己想要的格式

    百度MapBar电子地图

    通过分析这个文件,我们可以了解如何使用MapBar API来实现特定的地图功能,比如: - **初始化地图**:创建一个地图实例,设定地图容器、中心点、缩放级别等参数。 - **加载地图瓦片**:MapBar API会自动处理地图...

    mapbar api

    mapbar(图吧)是地图方面的一个半开源工具。这个是使用它的api

    mapbarapi.chm

    关于地图二次开发的技术文档,对GIS、RS、GPS应用人员有一定的帮助!

    整合google,51ditu和mapbar的地图API

    //api说明 http://code.google.com/intl/zh-CN/apis/maps/documentation/index.html //类参考文档 http://code.google.com/intl/zh-CN/apis/maps/documentation/reference.html 51地图 //api说明 ...

    mapbar标注的一个例子

    由于无法直接访问这个链接,我将根据常见的Mapbar API使用方法来解释相关知识点。 1. **Mapbar API的引入**: 在HTML文件中,我们需要引入Mapbar的JavaScript库,通常通过CDN链接或者本地存储的库文件。例如,可能...

    百度MapBar电子地图的javascript代码.zip

    【标题】:“百度MapBar电子地图的javascript代码.zip”是一个包含使用JavaScript编程语言与百度MapBar电子地图API交互的源代码资源。这个压缩包可能是为了帮助开发者更好地理解和使用百度地图服务,通过JavaScript...

    mapbar接口的实现

    "Mapbar接口的实现"是一个涉及地图服务集成的技术主题,主要在Web开发中使用,用于在网站上嵌入地图功能。Mapbar是中国一家提供地图服务的公司,它提供了API和JavaScript库供开发者调用,以在自己的应用或网站中集成...

    mapbarshell

    MapbarShell是一个基于Python的项目,使用WebPy框架来封装Mapbar API,目的是方便开发者通过Mapbar提供的URL接口进行自定义搜索和数据提取。Mapbar是一家提供地图服务和位置智能解决方案的公司,其API通常用于地理...

    mapbar地图编辑器

    Mapbar地图服务以其精准的地理位置信息和强大的地图API闻名,开发者可以利用这些API创建交互式地图、定位服务、路径规划等功能。Mapbar地图编辑器提供了一个直观的界面,允许用户轻松地添加、编辑和管理地图上的各种...

    Mapbar图吧地图公司介绍

    Mapbar图吧是中国领先的基于地图和定位的LBS(Location-Based Services)服务及内容提供商,拥有超过2000家国内知名网站使用其地图服务平台,并且是国内首家Telematics项目平台提供商。此外,图吧还服务于Android...

    电子地图API供应商比较

    目前主要Map API服务供应商(API接口)及其技术特点; Google Maps API Microsoft Virtual Earth API Yahoo Maps API MapABC API MapBar API

    mapbar推出的一款客户端地图软件

    ”意味着Mapbar的这款地图软件在用户中有着良好的口碑,易于使用,并且提供了便捷的服务。这可能包括快速定位、准确的路线规划、实时交通信息等功能,让用户在日常出行或工作中能够高效地利用地图服务。 基于提供的...

    webgis.zip_Google map 离线_world map_地图API_地图数据_离线地图 api

    在线地图 利用google map api 、天地图api、MapBar api、进行地图开发 离线地图 地图保存到本地,用现有技术对数据进行访问。

    javascript+mapbar实现地图定位

    Mapbar 地图 API 让您可以使用 JavaScript 将 Mapbar地图嵌入您自己的网页中。API 提供了许多方法与地图交互(正如http://www.mapbar.com/localsearch/index.html 网页上显示的),以及一系列向地图添加内容的服务...

Global site tag (gtag.js) - Google Analytics