javascript相关问题
PHPz
PHPz 2017-04-11 12:31:08
[JavaScript讨论组]
    
    var mapObj = new AMap.Map('container', {  
            resizeEnable: true,
               zoom: 5,
               zooms:[4,18],
               center: [106.485352, 34.603692]
       });
       //=======================================================
       var createMarker = function(data,h) {
                   var p = document.createElement('p');//创建一个p
                   p.className = 'circle';//添加className

                   var r = Math.floor(data.count / 1024);

                   p.style.backgroundColor = h?'yellow':'blue';//区别颜色
                   p.innerHTML = data.count || 0;//标记框里面的内容是数据里面的count/0
                   var marker = new AMap.Marker({//创建一个标记对象
                       content: p,
                       title:data.name,
                       position: data.center.split(','),
                       offset: new AMap.Pixel(-50, 5),
                       zIndex: data.count//图层的层级
                   });

                   marker.subMarkers = [];//()
                   if(data.name==='北京市'||data.name==='河南省'){
                       marker.setLabel({content:'←请点击',offset:new AMap.Pixel(45,0)})//设置点标记文本标签内容
              mapObj.setCenter(marker.getPosition());
                   }
                   if(!h){//()
                       marker.setMap(mapObj);//添加相关标记
                   }

            //
                   if(data.subDistricts&&data.subDistricts.length){//数据里面存在sub属性执行
                         for(var i = 0 ; i

我想知道 marker.subMarkers.push(createMarker(data.subDistricts[i],true));这句话什么意思,它createMarker()为什么会在里面直接调用本身,然后这样做有什么目的,实习生希望能指点下,谢谢

PHPz
PHPz

学习是最好的投资!

全部回复(1)
PHP中文网

这样写是考虑到data.subDistricts[]中可能会出现嵌套的情况,大概意思是河南省或北京市下的还有一些标记
你可以把这个data输出到控制台看一下具体数据

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号