美文网首页
百度地图随机创建25个点并且进行文字标注

百度地图随机创建25个点并且进行文字标注

作者: Limolovely | 来源:发表于2019-03-26 11:51 被阅读0次

<!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:"微软雅黑";}

#l-map{height:100%;width:78%;float:left;border-right:2px solid #bcbcbc;}

#r-result{height:100%;width:20%;float:left;}

</style>

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>

<title>添加多个标注点</title>

</head>

<body>

<div id="allmap"></div>

</body>

</html>

<script type="text/javascript">

// 百度地图API功能

var map = new BMap.Map("allmap");

var point = new BMap.Point(116.404, 39.915);

map.centerAndZoom(point, 15);

// 编写自定义函数,创建标注

function addMarker(point){

  var marker = new BMap.Marker(point);

  map.addOverlay(marker);

      map.addOverlay(label); 

}

// 随机向地图添加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 BMap.Point(sw.lng + lngSpan * (Math.random() * 0.7), ne.lat - latSpan * (Math.random() * 0.7));

      var opts = {

  position : point,    // 指定文本标注所在的地理位置

  offset  : new BMap.Size(10, -40)    //设置文本偏移量

}

var label = new BMap.Label("文本标注~", opts);  // 创建文本标注对象

label.setStyle({

color : "red",

fontSize : "12px",

height : "20px",

lineHeight : "20px",

fontFamily:"微软雅黑"

});

addMarker(point);

}

</script>

相关文章

网友评论

      本文标题:百度地图随机创建25个点并且进行文字标注

      本文链接:https://www.haomeiwen.com/subject/tmfgvqtx.html