当前位置:编程学习 > C#/ASP.NET >>

百度地图api

http://zk.srtong.com/map/index.htm#centerx=117.977717¢ery=28.445906&zoomlv=18&dt=1



自定义标注点,在上面显示文字说明。。。和连接上面的效果一样 百度地图 API --------------------编程问答-------------------- 以前写的asp版的,你参考下。
<script language="javascript"> 
var map;
function getClickCallBack(marker,html) 

return function(){
//marker.setInfoWinWidth("520");
//marker.setInfoWinHeight("210");
var infowin=marker.openInfoWinHtml(html);
infowin.setTitle('党组织信息');
} ;

function onLoad()
{
map=new LTMaps("mapDiv");
map.centerAndZoom(new LTPoint(<%=lng%>,<%=lat%>),3);
control=new LTStandMapControl();
control.setRight(-30);
map.addControl(control);
map.handleMouseScroll(false);//启用鼠标滚易做图能支持,参数true代表使用鼠标指向点位置不变模式
var points=[];
<%
function GetBM(OrgID)
select case left(OrgID,6)
case "321000"
BM = "" 
case "321002"
BM = "gl" 
case "321003"
BM = "hj"
case "321004"
BM = "kf"
case "321011"
BM = "wy"
case "321023"
BM = "by"
case "321081"
BM = "yz"
case "321084"
BM = "gy"
case "321088"
BM = "jd"
end select 
GetBM=BM
end function
Set rs=conn.execute("select ORG,ZZS053,LNG,LAT,ZZS056,ZZS055,ZZS054,ZZS051 from sysgroup where ORG like '"&AAB301&"%' and LNG is not null and LAt is not null")
if not rs.eof then
i=0
while not rs.eof
ORG=rs(0)
ZZS053=rs(1)
%>
points.push(new LTPoint(<%=rs(2)%>, <%=rs(3)%>)); 
var icon=new LTIcon("images/centerPoi1.gif",[24,18],[24,18]);//创建一个图标
//创建图标有三个参数,分别是图片的url地址,图片大小数组,图片锚点位置
//图片大小用数组的方式表示,例如图标大小20*28(宽度20,高度18,则大小参数是[20,28]) ,单位是像素(px)
//图片锚点位置用数组的方式表示,例如图片的锚点位置离左上角的距离是横向10px,纵向18px,则锚点是[10,18]
var marker=new LTMarker(points[<%=i%>],icon);//使用该图标创建标记LTMarker
map.addOverLay( marker ); 
//加文字
var text = new LTMapText( marker );
text.setLabel("<%=ZZS053%>"); 
map.addOverLay( text ); 
var html="<div align=left>名称:<%=rs("ZZS051")%></div>";
var html=html+"<div align=left>联系人:<%=rs(4)%> 电话:<%=rs(5)%></div>";
var html=html+"<div align=left>地址:<%=rs(6)%></div>";
<%
if right(ORG,10)="0000000000" then
NBM=GetBM(ORG)
%>
var html=html+"<div align=center><a class=ORG href=http://www.yz91.net/Home/index/<%=NBM%> target=_blank>查看网站</a></div>";
<%else%>
var html=html+"<div align=center><a class=ORG href=orgview.asp?org=<%=rs(0)%> target=_blank>查看详细</a></div>";
<%end if%>
//正确写法
LTEvent.addListener( marker , "click" ,getClickCallBack(marker,html)); 

<%
i=i+1
rs.movenext
wend
end if
set rs=nothing
%>
}
</script>
--------------------编程问答-------------------- 右键查看源代码。。

有个map.js --------------------编程问答--------------------
引用 1 楼 guwei4037 的回复:
以前写的asp版的,你参考下。
<script language="javascript"> 
var map;
function getClickCallBack(marker,html) 

return function(){
//marker.setInfoWinWidth("520");
//marker.setInfoWinHeight("210");
var infowin=marker.openInfoWinHtml(html);
infowin.setTitle('党组织信息');
} ;

function onLoad()
{
map=new LTMaps("mapDiv");
map.centerAndZoom(new LTPoint(<%=lng%>,<%=lat%>),3);
control=new LTStandMapControl();
control.setRight(-30);
map.addControl(control);
map.handleMouseScroll(false);//启用鼠标滚易做图能支持,参数true代表使用鼠标指向点位置不变模式
var points=[];
<%
function GetBM(OrgID)
select case left(OrgID,6)
case "321000"
BM = "" 
case "321002"
BM = "gl" 
case "321003"
BM = "hj"
case "321004"
BM = "kf"
case "321011"
BM = "wy"
case "321023"
BM = "by"
case "321081"
BM = "yz"
case "321084"
BM = "gy"
case "321088"
BM = "jd"
end select 
GetBM=BM
end function
Set rs=conn.execute("select ORG,ZZS053,LNG,LAT,ZZS056,ZZS055,ZZS054,ZZS051 from sysgroup where ORG like '"&AAB301&"%' and LNG is not null and LAt is not null")
if not rs.eof then
i=0
while not rs.eof
ORG=rs(0)
ZZS053=rs(1)
%>
points.push(new LTPoint(<%=rs(2)%>, <%=rs(3)%>)); 
var icon=new LTIcon("images/centerPoi1.gif",[24,18],[24,18]);//创建一个图标
//创建图标有三个参数,分别是图片的url地址,图片大小数组,图片锚点位置
//图片大小用数组的方式表示,例如图标大小20*28(宽度20,高度18,则大小参数是[20,28]) ,单位是像素(px)
//图片锚点位置用数组的方式表示,例如图片的锚点位置离左上角的距离是横向10px,纵向18px,则锚点是[10,18]
var marker=new LTMarker(points[<%=i%>],icon);//使用该图标创建标记LTMarker
map.addOverLay( marker ); 
//加文字
var text = new LTMapText( marker );
text.setLabel("<%=ZZS053%>"); 
map.addOverLay( text ); 
var html="<div align=left>名称:<%=rs("ZZS051")%></div>";
var html=html+"<div align=left>联系人:<%=rs(4)%> 电话:<%=rs(5)%></div>";
var html=html+"<div align=left>地址:<%=rs(6)%></div>";
<%
if right(ORG,10)="0000000000" then
NBM=GetBM(ORG)
%>
var html=html+"<div align=center><a class=ORG href=http://www.yz91.net/Home/index/<%=NBM%> target=_blank>查看网站</a></div>";
<%else%>
var html=html+"<div align=center><a class=ORG href=orgview.asp?org=<%=rs(0)%> target=_blank>查看详细</a></div>";
<%end if%>
//正确写法
LTEvent.addListener( marker , "click" ,getClickCallBack(marker,html)); 

<%
i=i+1
rs.movenext
wend
end if
set rs=nothing
%>
}
</script>
能说下原理吗??事件触发的还是什么的 --------------------编程问答-------------------- 这个百度提供的API是针对JavaScript代码的,它提供了API函数,我们只是去调用这个API来实现我们的功能。
参考官方网站:http://developer.baidu.com/map/jshome.htm --------------------编程问答-------------------- http://developer.baidu.com/map/tool.htm
进去之后点里面的地图快速生成器,引用一段百度提供的代码就可以了。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,