百度地图
[ http://lbsyun.baidu.com/index.php?title=jspopular/guide/custom-markers
]()
百度坐标拾取器
[http://api.map.baidu.com/lbsapi/getpoint/index.html]()
## 1.引入
```
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=yVvstVk5vFkyz8suzQ2fikPrsiC4NiOh"></script>
```
## 2.css
```
<style>
* {
margin: 0;
padding: 0;
}
html,
body {
height: 100%;
}
#container {
height: 100%;
}
</style>
```
## 3.html
```
<div id="container"></div>
```
# JS
## 实例化一个地图
```
var map = new BMap.Map("container");
```
## 设置中心点
```
var point = new BMap.Point(114.380881, 30.6949);
```
## 初始化,设置中心点及展示级别
```
map.centerAndZoom(point, 15);
```
## 开启鼠标滚轮缩放
```
map.enableScrollWheelZoom(true);
```
## 平移缩放
```
map.addControl(new BMap.NavigationControl());
```
## 坐标尺
```
map.addControl(new BMap.ScaleControl());
```
## 可折叠的缩略地图
```
map.addControl(new BMap.OverviewMapControl());
```
## 选择地图类型
```
map.addControl(new BMap.MapTypeControl());
```
## 仅当设置城市信息时,MapTypeControl的切换功能才能可用
```
map.setCurrentCity("北京");
```
## 偏移
```
var opts = { offset: new BMap.Size(150, 5) }
map.addControl(new BMap.ScaleControl(opts));
```
## 创建标注
```
var marker = new BMap.Marker(point);
map.addOverlay(marker);
marker.addEventListener("click", function () {
alert("您点击了标注");
});
```
## 两点间折线
```
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);
```
## 定义自定义覆盖物的构造函数
```
function SquareOverlay(center, length, color) {
this._center = center;
this._length = length;
this._color = color;
}
// 继承API的BMap.Overlay
SquareOverlay.prototype = new BMap.Overlay();
```
## 实现初始化方法
```
SquareOverlay.prototype.initialize = function (map) {
// 保存map对象实例
this._map = map;
// 创建div元素,作为自定义覆盖物的容器
var div = document.createElement("div");
div.style.position = "absolute";
// 可以根据参数设置元素外观
div.style.width = this._length + "px";
div.style.height = this._length + "px";
div.style.background = this._color;
// 将div添加到覆盖物容器中
map.getPanes().markerPane.appendChild(div);
// 保存div实例
this._div = div;
// 需要将div元素作为方法的返回值,当调用该覆盖物的show、
// hide方法,或者对覆盖物进行移除时,API都将操作此元素。
return div;
}
```
## 实现绘制方法
```
SquareOverlay.prototype.draw = function () {
// 根据地理坐标转换为像素坐标,并设置给容器
var position = this._map.pointToOverlayPixel(this._center);
this._div.style.left = position.x - this._length / 2 + "px";
this._div.style.top = position.y - this._length / 2 + "px";
}
```
## 添加自定义覆盖物
```
var mySquare = new SquareOverlay(map.getCenter(), 100, "red");
map.addOverlay(mySquare);
```
- 1.JS的基础知识
- (1)调试
- (2)变量
- (3)数据类型
- 数据类型之间的转换
- (4)全局变量和局部变量
- (5)运算符和表达式
- (6)数组
- 2.控制语句DOM,BOM,事件
- (1)控制语句
- (2)DOM的基础
- 节点
- 改变样式
- DOM事件
- 3.函数
- (1)声明函数
- (2)构造函数
- (3)函数的参数
- (4)函数的传参
- (5)改变this
- (6)重载
- (7)回调函数
- 4.数组
- (1)创建数组
- (2)增删改查
- (3)字符串与数组的转换
- 5.正则
- (1)创建正则
- (2)字符串中支持正则
- (3)语法
- 最核心的元字符
- 6.ajax
- (1)原生ajax
- (2)http,get,post
- (3)跨域
- (4)jQuery-ajax
- (5)axios
- 7.面向对象
- (1)原型
- (2)原型链,继承
- (3)多态
- 8.es6小结
- 9.js+canvas实现验证码
- 10.js的作用域
- 11.闭包
- 实例
- toggle
- 图片切换
- swiper
- 遮罩颜色渐变
- 表格添加
- 瀑布流
- ajax数据请求渲染
- 百度地图