网页端调用百度地图,自定义标注图标方法

最近做网页端地图导航的时候,需要用到自定义标注,这里记录一下(大牛轻喷)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="initial-scale=1.0,user-scalable=no">
    <title定义标注图标方法1</title>
    <style>
        html,body,#allmap{
            height: 100%;
            width: 100%;
            overflow:hidden;
            margin:0;
            font-family: "微软雅黑";
        }
    </style>
    <script src="http://api.map.baidu.com/api?v=2.0&ak=3ecea51f560650b1ed8a4b99808f52e8"></script>
</head>
<body>
    <div id="allmap"></div>
    <script>
        /*实现方法:
        (1)通过参数MarkerOptions的icon属性进行设置;
        (2)使用Marker.setIcon()方法
        */

        var map = new BMap.Map("allmap");//创建一个地图
        var point = new BMap.Point(116.404, 39.915);//创建一个地理点坐标
        map.centerAndZoom(point,12);

        //构造函数:IconMarker(point: Point, opts: MarkerOptions)    创建一个图像标注实例。
        //MarkerOptions类表示Marker构造函数的可选参数。它没有构造函数,但可通过对象字面量形式表示。

        var mk = new BMap.Marker(point,{title:"标注提示语句"});//创建标注

        /*Icon类表示标注覆盖物所使用的图标。
        *构造函数:Icon(url: String, size: Size, opts: IconOptions)  以给定的图像地址和大小创建图标对象实例
        *属性:
        *anchor:Size 图标的定位点相对于图标左上角的偏移值。【此功能相当于定位中的left和top属性】
        *size:Size   图标可视区域的大小。(图标是作为span标签的背景图片添加上去的,打开控制台自行查看)
        *imageSize:Size   图标所用的图片的大小。此功能的作用等同于CSS中的background-size属性。
        *imageOffset:Size 图标所用的图片相对于可视区域的偏移值。【此做法与css sprites技术类似。】
        *                 此功能,相当于CSS中的background-position属性。
        *imageUrl:String 图标所用图像资源的位置。
        */

        /*IconOptions表示Icon构造函数的可选参数。它没有构造函数,但可通过对象字面量形式表示。
        *anchor:Size 图标的定位锚点。是相对于图标左上角的偏移值。默认等于图标宽度和高度的中间值。【指定标注的位置】
        *imageOffset:Size 图片相对于可视区域的偏移值。【当您需要从一幅较大的图片中截取某部分作为标注图标时使用】
        */

        /*Size类以像素表示一个矩形区域的大小。
        *构造函数:Size(width: Number, height: Number)   以指定的宽度和高度创建一个矩形区域大小对象   
         */

        // var icon = new BMap.Icon('location.ico',new BMap.Size(32,32));
        //var icon = new BMap.Icon('location.png',new BMap.Size(20,27));
        /*设置的是span元素的大小,即图片区域的大小,并非图片本身的大小*/

        //icon.imageSize = new BMap.Size(20,27);//设置span元素背景图片的真实大小,即图片本身的大小
        //icon.anchor = new BMap.Size(10,20);//设置span元素的偏移,即整个图片区域的偏移量,相当于设置left,top属性

        /*图片路径自己指定*/
        var icon = new BMap.Icon('node_position.png',new BMap.Size(30,30));
        icon.imageSize = new BMap.Size(30,30);
        icon.anchor = new BMap.Size(15,25);
        mk.setIcon(icon); 
        map.addOverlay(mk);//将标注添加到地图中

    </script>
</body>
</html>

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

phubing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值