51ditu maps API 使用——显示所有信息——点击链接显示对应标记浮窗[修]
来源:互联网 发布:兰州连锁软件 编辑:程序博客网 时间:2024/06/04 23:27
因为要做一个地图服务类的子模块,找了很多信息,开始想到了GIS,后来发现人的无知真的会使其变得很愚蠢,等我学会GIS整个项目都做完了。百度,google,发现51地图很好,到官网逛了逛,又发现还有开发API,咿,小心肝扑扑嘞~~
感谢晨晨,在晨晨小站上我真的学到很多东西。只是一直有个问题,在显示所有信息的时候我想当用户点击左边的<A>链接后地图上即显示其浮窗信息。原效果(晨晨小站上的demo)如下:
http://www.chenchenmap.cn/demo3/showall.asp
我修改了一下代码,如下(代码复制后可直接运行):51ditu Maps API 类参考文档
因为初次接触,所以添了注释,大家互相学习,(*^__^*) 嘻嘻……
附:
晨晨小站 http://www.chenchenmap.cn
51 ditu Maps API 类参考文档http://api.51ditu.com/docs/mapsapi/reference.html
<html>
<head>
<title>显示所有信息</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript" src="http://api.51ditu.com/js/maps.js"></script>
<style>
#showName ul {margin:0;padding:5px;}
</style>
</head>
<body>
<table width="780" align="center" bgcolor="#000000" cellspacing="1">
<tr bgcolor="skyblue"><td align="center" colspan="2"><b>设备详细信息</b></td></tr>
<tr bgcolor="#FFFFFF"><td align="center" width="100">名称:</td><td width="680">显示所有标注</td></tr>
<tr bgcolor="#FFFFFF"><td colspan="2">
<div style="width:780px;height:500px;" id="mapDiv"></div>
</td></tr>
<tr bgcolor="#FFFFFF"><td align="center">说明:</td><td>显示所有设备信息</td></tr>
<tr bgcolor="#FFFFFF"><td align="right" colspan="2"><a href="index.asp">返回列表页面</a></td></tr>
<tr bgcolor=#FFFFFF><td colspan=2>没有数据</td></tr>
</table>
<div id="showName" style="width:100px;height:300px;border:1px solid #FF3333;font-size:12px;background-color:#D4D4D4">test</div>
<script language="javascript">
//设置弹出信息浮窗
function getClickCallBack(marker,html,title)
{
return function(){a=marker.openInfoWinHtml(html );a.setTitle(title)} ;
}
//新建地图对象
var map=new LTMaps(document.getElementById("mapDiv")); //设置需要显示地图的层ID
map.addControl(new LTStandMapControl()); //实例化地图导航控件
map.addControl(new LTOverviewMapControl()); //实例化鹰眼控件
//初始化标注信息相关变量
var points=[];
var names=[];
var contents=[];
//-------------------标注信息 Start---------------------------
points.push(new LTPoint(12030070,3157892));
names.push("test");
contents.push('地址:3333dfdf');
points.push(new LTPoint(11981485,3135590));
names.push("移动营业厅One");
contents.push('地址:3333haha哈');
//-------------------标注信息 End ---------------------------
//得到可以显示所有标注的最佳缩放等级
map.getBestMap(points);
var scaleControl=new LTScaleControl(); //实例化比例尺控件,实时显示地图比例尺
scaleControl.setLeft(10); //设置比例尺左边距
scaleControl.setBottom(20); //设置比例尺下边距
map.addControl(scaleControl); //向地图添加一个比例尺控件
for(var i=0;i<points.length;i++)
{
var marker = new LTMarker( points[i] );
map.addOverLay( marker );
var html=contents[i];
var mapText=new LTMapText(marker);
mapText.setLabel(names[i]);
map.addOverLay(mapText);
var title=names[i];
//
LTEvent.addListener( marker , "click" ,getClickCallBack(marker,html,title));
}
//函数功能:当点击左侧地名链接时,随即在地图上显示其浮窗信息
//思路:新创建一个标注控件,并使其为不可见,其实显示的信息是新创建标注的浮窗信息,
// 试过很多方法行不通,这个也只是一个折中的解决方法。
function onNamesClick(point2,html2,title2)
{
var marker=new LTMarker(point2); //在原point[i]上新实例化一个图形标注
map.addOverLay(marker); //在地图上创建一个图形标注
marker.setVisible(0); //设置标注不可见
var infowin=marker.openInfoWinHtml(html2); //浮窗内容
infowin.setTitle(title2); //浮窗标题
}
var htm=" ";
function showName(){
for (var i=0;i<names.length;i++)
{
htm+="<li><a href='javascript:void(0)' onclick='map.moveToCenter(points["+i+"]);onNamesClick(points["+i+"],contents["+i+"],names["+i+"])'>"+names[i]+"</a></li>";
}
}
showName();
//输出标注地名列表
document.getElementById("showName").innerHTML="<ul>"+htm+"</ul>";
var selfShowName=new LTHtmlElementControl(document.getElementById("showName"));
selfShowName.setRight(0);
map.addControl(selfShowName);
</script>
</body>
</html>
- 51ditu maps API 使用——显示所有信息——点击链接显示对应标记浮窗[修]
- google maps api多标记调用 并显示地址
- Google Maps Api 多坐标分类标记,在地图上显示海量坐标,并分组显示。
- Thinkphp—发布文章时显示所有的栏目及其对应子栏目-示例如下
- 点击链接,显示段落。
- Unity学习笔记——鼠标移动到物品上显示物品名字,点击后显示物品信息
- HTML——链接标记
- 使用DateGridView显示表所有信息
- JavaScript1——div点击显示-收起
- Android——使用ListView显示信息列表
- thinkphp——关于前台模板显示顶级栏目及其对应所有商品分页和二级栏目及对应的商品分页
- JSP定制标记——分析java.util.Locale,根据地区选择显示日期的标记
- ArcGIS For JavaScript API Show map properties(显示地图信息)————(十二)
- ArcGIS api for javascript——鼠标悬停时显示信息窗口
- 【Bing Map学习系列】(2)——如何通过Bing Maps Silverlight Control显示地图
- 关于Hbuilder打包Bug—plus.maps.Marker setIcon不显示解决方法
- 点击哪个按钮对应图片显示,按钮对应颜色显示
- 百度地图api之固定标记点跳动,点击显示详情
- 用WinInet开发Internet客户端应用指南(一)
- 在qtp中使用vb script 实现写文件功能
- Asp.net Ajax框架教程
- 使用API函数注册Dll
- .NET2里对ComboBox的Items方法IndexOf好像需要用String参数,才能取到索引
- 51ditu maps API 使用——显示所有信息——点击链接显示对应标记浮窗[修]
- 迷茫的程序员
- Office SharePoint Designer 2007 RTM 中文版 BT、HTTP、Emule下载
- 用网络来解决XMLHTTPRequest对象的跨域通信
- ?JavaScript?
- 各进制之间的转换
- Person.writeType?
- 腾讯 QQ2007 Beta2 阿瑞斯精简版 v0.7.6.2
- 无限传感器网络中的一个问题--中值计算