js 百度地图api
程序员文章站
2022-06-10 10:43:22
...
百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,可帮助您在网站中构建功能丰富、交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发,且支持HTML5特性的地图开发。
<script type="text/javascript" src="http://api.map.baidu.com/api?"></script>//加载百度地图api的地址
<script type="text/javascript">
//分割线高度
var h1 = $('#height1').height();
var h2 = $('#height').height();
if (h1 > h2) {
$('#s_height').height(h1);
} else {
$('#s_height').height(h2);
}
//地图
var open_store = (new Function('return ' + $('#open_store').val()))();
var close_store = (new Function('return ' + $('#close_store').val()))();
var myIcon = new BMap.Icon('__PUBLIC__/images/icon/logo-x.png', new BMap.Size(65, 57));
var myIcon_old = new BMap.Icon('__PUBLIC__/images/icon/logo-y.png', new BMap.Size(65, 57));
// 百度地图API功能
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(121.481387,31.235317), 11);
for (var j = 0; j < close_store.length; j++) {
var opts = {
width: 600, // 信息窗口宽度
height: 120, // 信息窗口高度
title: close_store[j]['map_title'], // 信息窗口标题
enableMessage: true//设置允许信息窗发送短息
};
var marker = new BMap.Marker(new BMap.Point(close_store[j]['longitude'], close_store[j]['latitude'])); // 创建标注
var content = close_store[j]['map_address'];
// map.addOverlay(marker);
// 将标注添加到地图中
var point = new BMap.Point(close_store[j]['longitude'], close_store[j]['latitude']);
var marker1 = new BMap.Marker(point, {icon: myIcon_old}); // 创建标注
map.addOverlay(marker1);
addClickHandler(content, marker1, opts);
}
for (var j = 0; j < open_store.length; j++) {
var opts = {
width: 600, // 信息窗口宽度
height: 120, // 信息窗口高度
title: open_store[j]['map_title'], // 信息窗口标题
enableMessage: true//设置允许信息窗发送短息
};
var marker = new BMap.Marker(new BMap.Point(open_store[j]['longitude'], open_store[j]['latitude'])); // 创建标注
var content = open_store[j]['map_address'];
// map.addOverlay(marker); // 将标注添加到地图中
// 将标注添加到地图中
var point = new BMap.Point(open_store[j]['longitude'], open_store[j]['latitude']);
var marker1 = new BMap.Marker(point, {icon: myIcon}); // 创建标注
map.addOverlay(marker1);
addClickHandler(content, marker1, opts);
}
$('.map_clcik').click(function () {
var longitude = $(this).attr('longitude');
var latitude = $(this).attr('latitude');
map.centerAndZoom(new BMap.Point(longitude, latitude), 23);
setTimeout(function () {
map.setZoom(23);
}, 2000); //2秒后放大到14级
map.enableScrollWheelZoom(true);
$("body").scrollTop(600);
});
function addClickHandler(content, marker, opts) {
marker.addEventListener("mouseover", function (e) {
openInfo(content, e, opts)
}
);
marker.addEventListener("mouseout", function (e) {
closeInfo(content, e, opts)
}
);
marker.addEventListener("click", function (e) {
showInfo(e);
}
);
}
function openInfo(content, e, opts) {
var p = e.target;
var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
var infoWindow = new BMap.InfoWindow(content, opts); // 创建信息窗口对象
map.openInfoWindow(infoWindow, point); //开启信息窗口
}
function closeInfo(content, e, opts) {
var p = e.target;
var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
var infoWindow = new BMap.InfoWindow(content, opts); // 创建信息窗口对象
map.closeInfoWindow(infoWindow, point); //开启信息窗口
}
function showInfo(e) {
var p = e.target;
map.centerAndZoom(new BMap.Point(p.getPosition().lng, p.getPosition().lat), 23);
setTimeout(function () {
map.setZoom(23);
}, 2000); //2秒后放大到14级
map.enableScrollWheelZoom(true);
}
//缩放地图
setTimeout(function () {
map.setZoom(11);
}, 2000); //2秒后放大到14级
map.enableScrollWheelZoom(true);
</script>