@52fhy
2015-09-11T17:31:51.000000Z
字数 3147
阅读 1142
JavaScript
地图
示例
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=91bc04aac3d665927d8c64750da556a9"></script>
<title>地图展示</title>
</head>
<body>
<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
var map = new BMap.Map("allmap");
var point = new BMap.Point(116.404, 39.915);
map.centerAndZoom(point, 11);
// 添加带有定位的导航控件
var navigationControl = new BMap.NavigationControl({
// 靠左上角位置
anchor: BMAP_ANCHOR_TOP_LEFT,
// LARGE类型
type: BMAP_NAVIGATION_CONTROL_LARGE,
// 启用显示定位
enableGeolocation: true
});
map.addControl(navigationControl);
// 添加定位控件
var geolocationControl = new BMap.GeolocationControl();
geolocationControl.addEventListener("locationSuccess", function(e){
console.log(e);
});
geolocationControl.addEventListener("locationError",function(e){
alert(e.message); // 定位失败事件
});
map.addControl(geolocationControl);
//添加覆盖物
//添加标注
var myIcon = new BMap.Icon("map.png", new BMap.Size(80, 80), {
//offset: new BMap.Size(40, 40),
//imageOffset: new BMap.Size(0, 0 - 0 * 25) // 设置图片偏移
});
var marker = new BMap.Marker(point, {icon: myIcon}); // 创建标注
map.addOverlay(marker);
marker.enableDragging();//标注可拖曳
//为标注添加事件
marker.addEventListener("dragend", function(e){
console.log(e);
var info = e.point.lng + ", " + e.point.lat;
//alert(info);
addInfoWindow(info, e.point);
})
//添加信息窗口
function addInfoWindow(info, point){
var opts = {
width : 50, // 信息窗口宽度
height: 30, // 信息窗口高度
title : "<h1>当前位置:</h1>" // 信息窗口标题
}
var infoWindow = new BMap.InfoWindow(info, opts); // 创建信息窗口对象
map.openInfoWindow(infoWindow, point); // 打开信息窗口
}
//添加折线
var polyline = new BMap.Polyline([
new BMap.Point(116.399, 39.910),
new BMap.Point(116.405, 39.920)
],
{strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5}
);
//map.addOverlay(polyline);
//标签
var opts = {
offset : 0,
position: point, //坐标点
enableMassClear : true
}
var label = new BMap.Label('我是标签',opts);
map.addOverlay(label);
label.setStyle({ color : "red", fontSize : "12px" , border : "none"});
//添加流量图层
var traffic = new BMap.TrafficLayer(); // 创建交通流量图层实例
//map.addTileLayer(traffic);
var local = new BMap.LocalSearch(map, {renderOptions:{map: map}});
//var local = new BMap.LocalSearch(map,{renderOptions: {map: map,panel: "results"}});//搜索结果面板
//var local = new BMap.LocalSearch("北京市", {renderOptions: {map: map,autoViewport: true},pageCapacity: 8});//配置搜索
//local.search("天通西苑一区");
//公交导航
var transit = new BMap.TransitRoute(map, {
renderOptions: {map: map, panel: "results"}
});
//transit.search("天通西苑一区", "西单");
//驾车导航
var driving = new BMap.DrivingRoute(map, {
renderOptions: {
map: map,
autoViewport: true
}
});
//driving.search("中关村", "天安门");
//地理位置编码
var myGeo = new BMap.Geocoder();
// 将地址解析结果显示在地图上,并调整地图视野
myGeo.getPoint("北京市海淀区上地10街10号", function(point){
if (point) {
//map.centerAndZoom(point, 16);
//map.addOverlay(new BMap.Marker(point));
}
}, "北京市");
//反向地理编码
myGeo.getLocation(new BMap.Point(116.364, 39.993), function(result){
if (result){
//alert(result.address);
addInfoWindow(result.address, point);
}
});
</script>
参考:
手册 http://developer.baidu.com/map/index.php
类参考 http://developer.baidu.com/map/reference/index.php
实例 http://developer.baidu.com/map/jsdemo.htm