网站页不能有ecshop本身的js代码,因为有了地图不显示,估计是js有冲突,我目前不会改。
调用百度地图就是调用百度写好的js就行了,详情看百度地图api开发文档,基本的例子都有。
关于页面列表显示的问题,坐标点是肯定要有的。
在dwt页面
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=(访问应用)"></script>
调用goods_list.lib文件(货物列表显示页)
在goods_list.lib页面 布局自己调 (百度地图api有团购插件如果显示布局合适可以用那个)
<div id="container"></div>
//此为列表现实页(加载地图成功显示,通过js主要显示的点)
<div >
<ul>
//循环显示货物列表信息
<!--{foreach name=goods_list from=$goods_list item=goods}-->
//调用js设置鼠标放上去的事件把你要显示到地图上的信息传到相应的js中
<li style="margin-top:20px;margin-left: 15px; "><a οnmοuseοver=" haha(参数1,参数2,经度,纬度" href="链接"><span style="color:red;">内容</span></a>
<hr>
</li>
<!--{/foreach}-->
</ul>
</div>
<script type="text/javascript">
//加载地图插件
var map = new BMap.Map("container");
//确定起始坐标点和缩放大小
map.centerAndZoom(new BMap.Point(116.417854,39.921988), 12);
var top_left_control = new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_LEFT});// 左上角,添加比例尺
var top_left_navigation = new BMap.NavigationControl(); //左上角,添加默认缩放平移控件
map.addControl(top_left_control);
map.addControl(top_left_navigation);
map.enableScrollWheelZoom();
map.centerAndZoom(point, 12);
//设置窗口信息大小
var opts = {
width : 250, // 信息窗口宽度
height: 100, // 信息窗口高度
title : "标题头信息", // 信息窗口标题
enableMessage:false//设置允许信息窗发送短息
};
function addMarker(point){
var marker = new BMap.Marker(point);
map.addOverlay(marker);
}
//循环创建多个点
{foreach name=goods_list from=$goods_list item=goods}
var point = new BMap.Point({$goods.lng},{$goods.lat});
addMarker(point);
{/foreach}
map.setViewport(point);
//鼠标移动到相应的位置调用该方法
function haha (a,b,c,d){
var sContent =b+a; //显示的内容变量用加号连接
var infoWindow = new BMap.InfoWindow(sContent,opts); // 创建信息窗口对象
map.openInfoWindow(infoWindow,new BMap.Point(c,d)); //开启信息窗口
}
</script>
完成的样子
放到相应的位置标签显示地点。