vue中使用百度地图
大概浏览
- 百度地图版本:
JavaScript API GL v1.0
- index.html中引入:
https://api.map.baidu.com/api?v=1.0&type=webgl&ak=您的密钥
- ts中使用:写一个d.ts:
declare const BMapGL: any
- 容器:
<div id="container"></div>
- 初始化:
var map = new BMapGL.Map("container");
- Point:
var point = new BMapGL.Point(116.404, 39.915);
- 设置地图:
map.centerAndZoom(point, 15);
- 设置地图:
map.enableScrollWheelZoom(true); // 开启鼠标滚轮缩放
- 设置地图:
var map = new BMapGL.Map("allmap",{
enableRotate: false,
enableTilt: false
});
- 设置地图:
map.setMapType(BMAP_EARTH_MAP); // 设置地图类型为地球模式
- 地图控件: 比例尺
ScaleControl, 缩放ZoomControl, 定位LocationControl, 城市选择列表CityListControl, 版权CopyrightControl。
- 地图控件: 控件可设置offset和anchor值
var opts = {
offset: new BMapGL.Size(150, 5)
anchor: BMapGL.ControlAnchor.BOTTOM_LEFT
}
map.addControl(new BMapGL.ScaleControl(opts));
map.removeControl(new BMapGL.ScaleControl(opts));
- 设置地图样式:
map.setMapStyleV2({
styleId: '3d71dc5a4ce6222d3396801dee06622d'
});
- 地图覆盖物-marker:
const markerIcon = require("markers.png")
var myIcon = new BMapGL.Icon(markerIcon, new BMapGL.Size(23, 25), {
anchor: new BMapGL.Size(10, 25),
imageOffset: new BMapGL.Size(0, 0 - 25)
});
var point = new BMapGL.Point(116.404, 39.915);
var marker = new BMapGL.Marker(point, {icon: myIcon});
map.addOverlay(marker);
marker.addEventListener("click", function(e){
var target = e.target;
var infowindow = new BMapGL.InfoWindow('<div>xxx</div>');
target.openInfoWindow(infowindow)
});
- 地图添加叠加层:
new BMapGL.GroundOverlay