日期:2014-05-16  浏览次数:20384 次

百度地图如何同时添加多个标记???
做了一个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);
//        });
// &n