html网页调用百度API只显示城市地图,并在上面用光环标注

要求

1、调用百度API

2、只显示城市地图

3、可以用光环或圆圈做标注


我的思路

1、显示城市地图,其他的边缘都不显示

2、修改api,添加点(通过地图上的经纬度来实现不会放大缩小改变位置)

3、设置方法,当满足什么条件就会变色


第一部分、显示城市地图

https://blog.csdn.net/tian_jiangnan/article/details/105216057

第二部分、只显示城市的部分

https://blog.csdn.net/tian_jiangnan/article/details/105222634

第三部分、地图上的热力图部分

https://blog.csdn.net/tian_jiangnan/article/details/105216057

第四部分、综合显示

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>获取地区轮廓线</title>
 <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的密钥"></script>
 <script type="text/javascript" src="http://api.map.baidu.com/library/Heatmap/2.0/src/Heatmap_min.js"></script>
</script>
<style type="text/css">
body{font-size:13px;margin:10px}
#container{width:1200px;height:600px;margin-left:200px;border:1px solid gray}
</style>
</head>
<body>
<div id="container"></div>
<div id="r-result">
		<input type="button"  οnclick="openHeatmap();" value="显示热力图"/>
		<input type="button"  οnclick="closeHeatmap();" value="关闭热力图"/>
	</div>
<br />
<script type="text/javascript">
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(117.6, 30.9), 11);
map.addControl(new BMap.OverviewMapControl());   
map.addControl(new BMap.NavigationControl({
	type: BMAP_NAVIGATION_CONTROL_SMALL,
	anchor:BMAP_ANCHOR_TOP_RIGHT , 
	offset: new BMap.Size(1000, 600)
	                                        })
			  );
   var bdary = new BMap.Boundary();
    var name = "铜陵市"
    bdary.get(name, function(rs){       //获取行政区域     
        var count = rs.boundaries.length; //行政区域的点有多少个
		 var EN_JW = "180, 90;";         //东北角
        var NW_JW = "-180, 90;";       //西北角
        var WS_JW = "-180, -90;";       //西南角
        var SE_JW = "180, -90;";        //东南角
            var ply = new BMap.Polygon(rs.boundaries[count-1] + SE_JW + SE_JW + WS_JW + NW_JW + EN_JW + SE_JW, {
				strokeColor: "none",
				fillColor:"#7ab7f2",
				fillOpacity:1,
				strokeOpacity:1
				}); //建立多边形覆盖物
             map.addOverlay(ply);  //添加覆盖物            
                                 })//bdary的结尾

map.enableScrollWheelZoom();
//热力图部分
//设置热力图的点参数
    var points =[
    {"lng":117.862179,"lat":30.940701,"count":50},
    {"lng":117.226897,"lat":30.703597,"count":51},
    {"lng":117.79901,"lat":30.956806,"count":15},
    {"lng":117.899809,"lat":30.917902,"count":40},
    {"lng":117.799091,"lat":30.956403,"count":100}];
	//判断浏览器是否支持canvas
    if(!isSupportCanvas()){alert('热力图目前只支持有canvas支持的浏览器,您所使用的浏览器不能使用热力图功能~')}
	//热力图初始化
	heatmapOverlay1 = new BMapLib.HeatmapOverlay({"radius":20});
	//地图添加热力图层
	map.addOverlay(heatmapOverlay1);
	//热力图层添加数据
	heatmapOverlay1.setDataSet({data:points,max:100});
	//不知道作用
	//判断浏览区是否支持canvas
    function isSupportCanvas(){
        var elem = document.createElement('canvas');
        return !!(elem.getContext && elem.getContext('2d'));
    }
	//显示热力图
    function openHeatmap(){
        heatmapOverlay1.show();
    }
	//关闭热力图
	function closeHeatmap(){
        heatmapOverlay1.hide();
    }    
	//设置初始化页面的时候不显示热力图
	closeHeatmap();
//热力图部分
</script>
</body>
</html>

显示如下

发布了90 篇原创文章 · 获赞 1 · 访问量 2703

猜你喜欢

转载自blog.csdn.net/tian_jiangnan/article/details/105160388