欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

百度map怎么同时添加多个标记?

更新时间: 2014-01-05 01:50:47 责任编辑: Author_N1

 

百度地图如何同时添加多个标记???
做了一个socket程序来获取gps数据。。。

想通过百度地图将这些点(经纬度)标记上去。。。

问题来了,百度的经纬度和gps经纬度是不一样的,gps经纬度需要通过转换才能在百度上正确显示出来。。。

上代码:

<script type="text/javascript" src="js/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
<script type="text/javascript" src="http://dev.baidu.com/wiki/static/map/API/examples/script/convertor.js"></script>
<script type="text/javascript">
    /*准备数据*/
    var gps_info_list = $("#gps_info_list").val();//获取gps信息集合,json格式,格式为{"gps_info:[{'lat':12.120,'lon':12.354,'speed':124.12}]"}
    
    if (gps_info_list == "") {
        alert("GPS数据为空!");
    }

    var gpsList = $.parseJSON(gps_info_list).gps_info; //将gps数据转换为json对象。
    
    
    
    /*准备地图*/
    var map = new BMap.Map("container");
    var point = new BMap.Point(120.45877, 33.19607);
    map.centerAndZoom(point, 18);
    map.addControl(new BMap.NavigationControl());

    //addMarker(new BMap.Point(116.404, 39.915), 0);//添加标记

//    /*编写自定义函数,创建标注*/
//    function addMarker(point, index) {
//        // 创建图标对象  
//        var myIcon = new BMap.Icon("markers.png", new BMap.Size(32, 32), {
//            // 指定定位位置。  
//            // 当标注显示在地图上时,其所指向的地理位置距离图标左上  
//            // 角各偏移10像素和25像素。您可以看到在本例中该位置即是  
//            // 图标中央下端的尖角位置。  
//            offset: new BMap.Size(10, 25),
//            // 设置图片偏移。  
//            // 当您需要从一幅较大的图片中截取某部分作为标注图标时,您  
//            // 需要指定大图的偏移位置,此做法与css sprites技术类似。  
//            imageOffset: new BMap.Size(0, 0 - index * 2)   // 设置图片偏移  
//        });
//        // 创建标注对象并添加到地图 
//        var marker = new BMap.Marker(point, { icon: myIcon });

//        /*为标记天际单击事件*/
//        marker.addEventListener("click", function(e) {
//            alert(e.point.lng + ", " + e.point.lat);
//        });
//        map.addOverlay(marker);
//    }

//        addMarker(new BMap.Point(116.404, 39.915), 0);

    gpsxy = function() {
        var xx = 120.45877;
        var yy = 33.19607;

        for (var i = 0; i < gpsList.length; i++) {
            xx = gpsList[i].lon;
            yy = gpsList[i].lat;


            var gpsPoint = new BMap.Point(xx, yy);
            BMap.Convertor.translate(gpsPoint, 0, function(point) {
                //map.clearOverlays();
                var marker = new BMap.Marker(point);
                map.addOverlay(marker);

                map.setCenter(point);
                
                document.getElementById("baiduXY").innerHTML = point.lng + "," + point.lat;
            });
        }
    }
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:50:47
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/1932/
本文WWW.DOC100.NET DOC100.NET版权所有。