风格地图
概述
- 调用51地图
示例
新增:风格地图调用 (2010.04.29)
- 1.数据源的配置放在配置文件的Other节点,字段别名是固定的,可参考如下例子:
<MapList> <Map Name="MyMap" Title="地图的数据源配置"> <DataSource Type="SqlServer"> <![CDATA[ select a.Id,a.CityName,a.LatAndlon,a.color,a.type from (select '00001559-BCDF-4092-98A4-E28353D76C93' as Id,'成都' as CityName,'10406750,3058102' as LatAndlon,'red' as color,'主导产品' as type union select '0000B4A6-D19E-4067-86BA-EEBCF70C39E0' as Id,'北京' as CityName,'11663767,3983604' as LatAndlon,'blue' as color,'二线品牌' as type ) a where CityName='{@Query['CityName']}' ]]> </DataSource> <DataSource Type="Oracle"> <![CDATA[ select '00001559-BCDF-4092-98A4-E28353D76C93' as Id,'北京' as CityName,'10406750,3058102' as LatAndlon,'red' as color,'主导产品' as type from dual union select '0000B4A6-D19E-4067-86BA-EEBCF70C39E0' as Id,'北京' as CityName,'11663767,3983604' as LatAndlon,'blue' as color,'二线品牌' as type from dual ]]> </DataSource> </Map> </MapList> 其中'{@Query['CityName']}'是查询字段,与查询生成的XML格式相对应。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
202.页面调用:
<%--地图初始化--%> <script language="javascript" type="text/javascript" src="../JavaScript/UI/MapDiv/WebMapDiv.js"></script> <script language="javascript" type="text/javascript" src="../JavaScript/Global.js.aspx"></script> <%--地图必备--%> <script language="javascript" src="http://api.51ditu.com/js/maps.js" type="text/javascript"></script>
1
2
3
4
52.HTML控件容器,用于显示地图,可自行设计在页面的任意位置,
<body> <form id="form1" runat="server"> <div id="myMap" EntityName="SysMapping" MapName="MyMap" style="border-right: #000066 0px solid; border-left: #000066 1px solid; width: 100%; border-bottom: #000066 1px solid; position: relative; height: 95%"> </div> </form> </body>
1
2
3
4
5
6
73.调用生成页面事件:JS(Load)
window.attachEvent("onload", function() { var Div = new WebMapDiv("myMap");//生成地图,"myMap"为装载地图的DIV容器Id //此DIV有EntityName(配置文件名)和MapName属性以便找到相关数据源,无则不加 //数据源,有查询功能时,此Div对象做为全局对象,以便查询按钮调用Div.Init(QueryXml); var QueryXml = "<Root>";//查询最终要生成的格式,以<Root>开头,与数据源相对应。 QueryXml += "<CityName>成都</CityName>"; QueryXml += "</Root>"; Div.Init(QueryXml);//加载数据 // Div.ShowPonit("10414204, 3064349");//传入坐标点,在地图上标示。 }) function _OKOnClick(a) { //此方法是在地图上标识坐标,确定后调用的方法,参数a为该点的坐标。 }
1
2
3
4
5
6
7
8
9
10
11
124.地图中标记点点击后点了查看详细(如图下)
在自己的页面中重写function jumpTo(id){
//此方法是处理后续想要触发的事件,若没有写,则点击查看详细后没有反应。
其中id为在xml中配置该点坐标对应的ID的值。}