所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。如标注、矢量图形元素(包括:折线和多边形和圆)等。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。
地图API提供了如下几种覆盖物:
Marker:标注表示地图上的点,可自定义标注的图标。
Label:表示地图上的文本标注,您可以自定义标注的文本内容。
Polyline:表示地图上的折线。
Polygon:表示地图上的多边形。多边形类似于闭合的折线,另外您也可以为其添加填充颜色。
Circle: 表示地图上的圆。
创建点
下面是创建点的示例:
var map = new BigMap.Map("map");
var point = new BigMap.Point(112.404, 35.915);
map.centerAndZoom(point, 5);
//创建点
var point = new BigMap.Point(115.398773,30.925272);
var marker = new BigMap.Marker(point);
创建圆
下面是创建园的示例:
//创建圆
var pointCircle = new BigMap.Point(110.398773,40.925272);
var circle = new BigMap.Circle(pointCircle, 50, {
fillColor:"#CCF3FF",
fillWeight:2,
fillOpacity: 0.6,
strokeColor: "#Efd345",
strokeWeight: 2,
strokeOpacity: 0.5
});
创建线
下面是创建园的示例:
//创建线
var pointlineArray = new Array();
pointlineArray.push(new BigMap.Point(116.398773,39.925272));
pointlineArray.push(new BigMap.Point(115.368773,35.875272));
pointlineArray.push(new BigMap.Point(115.388773,33.885272));
var polyline = new BigMap.Polyline(pointlineArray,{
strokeColor : "#FF00FF",
strokeWeight : 5,
strokeOpacity: 0.8
});
创建多边形
下面是创建多边形的示例:
//创建多边形
var pointArray = new Array();
pointArray.push(new BigMap.Point(106.398773,38.925272));
pointArray.push(new BigMap.Point(114.368773,35.875272));
pointArray.push(new BigMap.Point(110.388773,30.885272));
var polygon = new BigMap.Polygon(pointArray, {
fillColor:"#CC87FF",
fillWeight:2,
fillOpacity: 0.6,
strokeColor: "#0000ff",
strokeWeight: 2,
strokeOpacity: 0.5
});
添加/清除覆盖物
下面是添加/清除覆盖物的示例:
//添加覆盖物
function add_overlay(){
map.addOverlay(marker);//增加点
map.addOverlay(circle);//增加圆
map.addOverlay(polyline);//增加线
map.addOverlay(polygon);//增加多边形
}
//清除覆盖物
function remove_overlay(){
map.clearOverlays();
}
拖拽示例
var map = new BigMap.Map("map");
var point = new BigMap.Point(116.400244,39.92556);
map.centerAndZoom(point, 10);
var marker = new BigMap.Marker(point);// 创建标注
map.addOverlay(marker); // 将标注添加到地图中,默认是不可以拖拽
//开启拖拽
function setEnableDragging() {
marker.enableDragging(map);
}
//禁用拖拽
function setDisableDragging() {
marker.disableDragging(map);
}
创建地图
var map = new BigMap.Map("map");
var point = new BigMap.Point(110.400244,34.92556);
map.centerAndZoom(point, 5);
创建线
创建线的示例
//创建线
var pointlineArray = new Array();
pointlineArray.push(new BigMap.Point(116.398773,39.925272));
pointlineArray.push(new BigMap.Point(115.368773,34.875272));
pointlineArray.push(new BigMap.Point(115.388773,30.885272));
var polyline = new BigMap.Polyline(pointlineArray,{
strokeColor : "#FF00FF",
strokeWeight : 5,
strokeOpacity: 0.8
});
创建多边形
创建多边形的示例
//创建多边形
var pointArray = new Array();
pointArray.push(new BigMap.Point(106.398773,38.925272));
pointArray.push(new BigMap.Point(114.368773,35.875272));
pointArray.push(new BigMap.Point(110.388773,30.885272));
var polygon = new BigMap.Polygon(pointArray, {
fillColor:"#CC87FF",
fillWeight:2,
fillOpacity: 0.6,
strokeColor: "#0000ff",
strokeWeight: 2,
strokeOpacity: 0.5
});
map.addOverlay(polyline);//增加线
map.addOverlay(polygon);//增加多边形
function setEnableEditing() {
polyline.enableEditing(map);
polygon.enableEditing(map);
}
function setDisableEditing() {
polyline.disableEditing(map);
polygon.disableEditing(map);
}
覆盖物显示/隐藏示例
var map = new BigMap.Map("map");
var point = new BigMap.Point(110.400244,34.92556);
map.centerAndZoom(point, 5);
//创建一个标注
var point = new BigMap.Point(115.398773,30.925272);
var marker = new BigMap.Marker(point);
map.addOverlay(marker);
//绘制一个圆
var pointCircle = new BigMap.Point(110.398773,35.925272);
var circle = new BigMap.Circle(pointCircle, 50, {
fillColor:"#CCF3FF",
fillWeight:2,
fillOpacity: 0.6,
strokeColor: "#Efd345",
strokeWeight: 2,
strokeOpacity: 0.5
});
map.addOverlay(circle);//添加一个圆
//绘制一条折线
var pointlineArray = new Array();
pointlineArray.push(new BigMap.Point(116.398773,39.925272));
pointlineArray.push(new BigMap.Point(115.368773,36.875272));
pointlineArray.push(new BigMap.Point(115.388773,33.885272));
polyline = new BigMap.Polyline(pointlineArray,{
strokeColor : "#FF00FF",
strokeWeight : 5,
strokeOpacity: 0.8
});
map.addOverlay(polyline);//添加一条折线
function hide() {
marker.hide();
circle.hide();
polyline.hide();
}
function show() {
marker.show();
circle.show();
polyline.show();
}
添加文字标注示例
var map = new BigMap.Map("map");
var point = new BigMap.Point(110.400244,34.92556);
map.centerAndZoom(point, 5);
var label = new BigMap.Label("我的家园",{
point: new BigMap.Point(112.368773,39.875272)
});
label.setStyle({
"borderColor" : "#000",
"color" : "red",
"fontSize" : "16px",
"height" : "30px",
"lineHeight" : "30px"
});
map.addOverlay(label);
添加多个点示例
var map = new BigMap.Map("map");
var point = new BigMap.Point(110.400244,34.92556);
map.centerAndZoom(point, 4);
// 编写自定义函数,创建标注
function addMarker(point){
var marker = new BigMap.Marker(point);
map.addOverlay(marker);
}
// 随机向地图添加25个标注
var bounds = map.getBounds();
var sw = bounds.getSouthWest();
var ne = bounds.getNorthEast();
var lngSpan = Math.abs(sw.lng - ne.lng);
var latSpan = Math.abs(ne.lat - sw.lat);
for (var i = 0; i < 25; i ++) {
var point = new BigMap.Point(sw.lng + lngSpan * Math.random(), ne.lat - latSpan * (Math.random() * 0.7));
addMarker(point);
}