百度地图API 多边形区域鼠标事件显示title?

迅发网络 2016-04-22 08:52:02

百度地图API 的多边形区域,鼠标mouseover后,如何显示title?
意思就是,鼠标经过多边形的绘制区域,显示文字提示,鼠标移走后自动消失。
貌似官方对这个类,没有设置?

在线等啊啊啊啊 啊 。。
...全文
2625 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
顾小林 2016-04-25
  • 打赏
  • 举报
回复
80分 别人给你demo了?居然还要别人帮你改代码?
墨白一凡 2016-04-25
  • 打赏
  • 举报
回复
百度地图可以对所有FU盖物进行绑定事件!网上绑定事件的例子还是很多的,可以参考下!地图API对多边形这块基本上没什么帮助!四楼可以参考
迅发网络 2016-04-23
  • 打赏
  • 举报
回复
顶啊顶~~~ 有会的吗 polygon多边形貌似不能settitle啊
迅发网络 2016-04-23
  • 打赏
  • 举报
回复
怎么写啊。。。我要在绘制区域上面显示title
0o子若o0 2016-04-23
  • 打赏
  • 举报
回复
百度api接口不是用js写的吗,你可以直接在上面改啊,又不难看懂
迅发网络 2016-04-23
  • 打赏
  • 举报
回复
但是我的代码跟你的不一样的。能不能帮忙改一下?
<?php
while($row5=mysql_fetch_array($query5))
{
$str1 = $row5['jingwei'];  // 原始字符串
$str2 = explode("|", $str1);  //explode分离函数的应用  

$num = count($str2) - 1;
?>	

var polygon = new BMap.Polygon([	

<?php
for($n=0; $n < $num; $n++)
{
?>	

new BMap.Point(<?php echo $str2[$n]; ?>, <?php echo $str2[$n+1]; ?>)

<?php if($n < $num) echo ","; if($n == $num) echo ""; $n++; 
}
?>		
], {strokeColor:"<?php echo $row['bdcolor'] ?>",fillColor:"#f8f8f8", strokeWeight:3, strokeOpacity:0,fillOpacity:0});
map.addOverlay(polygon);

polygon.addEventListener('mouseover',function(){map.addOverlay(label)})
polygon.addEventListener('mouseout',function(){map.removeOverlay(label)})
str2 = str2.concat(polygon.getPath());
map.setViewport(str2);    //调整视野
var label=new BMap.Label('文字内容',{position:map.getCenter()});

<?php
}
?>
迅发网络 2016-04-23
  • 打赏
  • 举报
回复
牛逼啊!谢谢版主大哥!
Go 旅城通票 2016-04-23
  • 打赏
  • 举报
回复
自己建立个label标签添加到polygon中间就好了,然后添加mouseover/mouseout事件,移动到上面map.addOverlay那个labe,mouseout就removeOverlay DEMO
<!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=您的密钥"></script>
	<title>添加行政区划</title>
</head>
<body>
	<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
	// 百度地图API功能
	var map = new BMap.Map("allmap");
	map.centerAndZoom(new BMap.Point(116.403765, 39.914850), 5);
	map.enableScrollWheelZoom();

	function getBoundary(){       
		var bdary = new BMap.Boundary();
		bdary.get("北京市海淀区", function(rs){       //获取行政区域
			map.clearOverlays();        //清除地图覆盖物       
			var count = rs.boundaries.length; //行政区域的点有多少个
			if (count === 0) {
				alert('未能获取当前输入行政区域');
				return ;
			}
          	var pointArray = [];
			for (var i = 0; i < count; i++) {
				var ply = new BMap.Polygon(rs.boundaries[i], {strokeWeight: 2, strokeColor: "#ff0000"}); //建立多边形覆盖物
				map.addOverlay(ply);  //添加覆盖物
//////////////////////
              ply.addEventListener('mouseover',function(){map.addOverlay(label)})
              ply.addEventListener('mouseout',function(){map.removeOverlay(label)})
//////////////////////
				pointArray = pointArray.concat(ply.getPath());
			}    
			map.setViewport(pointArray);    //调整视野
          var label=new BMap.Label('文字内容',{position:map.getCenter()})////////////////////////
		});   
	}

	setTimeout(function(){
		getBoundary();
	}, 2000);
</script>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧