• 百度地图根据经纬度坐标值绘制轨迹.


    var map = new BMap.Map("map");
    var point = new BMap.Point(116.404, 39.915);
    map.centerAndZoom(point, 15);
    map.enableScrollWheelZoom(); // 开启鼠标滚轮缩放
    map.addControl(new BMap.ScaleControl()); // 添加比例尺控件

    var pointStr = "104.038748,30.641821,104.047789,30.648128,104.063959,30.655336,104.067264,30.660307,104.067264,30.664438,104.064008,30.665316".split(",");
    var pointArr = [];

    for (var k = 0; k < pointStr.length; k += 2) {
    pointArr.push({
    lng: pointStr[k],
    lat: pointStr[k + 1]
    });
    }

    // 生成坐标点
    var trackPoint = [];
    for (var i = 0, j = pointArr.length; i < j; i++) {
    trackPoint.push(new BMap.Point(pointArr[i].lng, pointArr[i].lat));
    }

    map.centerAndZoom(trackPoint[0], 15);

    // 画线
    var polyline = new BMap.Polyline(trackPoint, {
    strokeColor: "#1869AD",
    strokeWeight: 3,
    strokeOpacity: 1
    });
    map.addOverlay(polyline);

    // 配置图片
    var size = new BMap.Size(26, 26);
    var offset = new BMap.Size(0, -13);
    var imageSize = new BMap.Size(26, 26);
    var icon = new BMap.Icon("./express-position.png", size, {
    imageSize: imageSize
    });

    // 画图标
    for (var i = 0, j = trackPoint.length; i < j; i++) {
    var marker = new BMap.Marker(trackPoint[i], {
    icon: icon,
    offset: offset
    }); // 创建标注
    map.addOverlay(marker);

    }

    //根据经纬极值计算绽放级别。 (从网上复制)
    function getZoom(maxLng, minLng, maxLat, minLat) {
    var zoom = ["50", "100", "200", "500", "1000", "2000", "5000", "10000", "20000", "25000", "50000", "100000", "200000", "500000", "1000000", "2000000"]; // 级别18到3。
    var pointA = new BMap.Point(maxLng, maxLat); // 创建点坐标A
    var pointB = new BMap.Point(minLng, minLat); // 创建点坐标B
    var distance = map.getDistance(pointA, pointB).toFixed(1); //获取两点距离,保留小数点后两位
    for (var i = 0, zoomLen = zoom.length; i < zoomLen; i++) {
    if (zoom[i] - distance > 0) {
    return 18 - i + 3; //之所以会多3,是因为地图范围常常是比例尺距离的10倍以上。所以级别会增加3。
    }
    }
    }

    // (从网上复制)
    function setZoom(points) {
    if (points.length > (http://www.amjmh.com/v/BIBRGZ_558768/)0) {
    var maxLng = points[0].lng;
    var minLng = points[0].lng;
    var maxLat = points[0].lat;
    var minLat = points[0].lat;
    var res;
    for (var i = points.length - 1; i >= 0; i--) {
    res = points[i];
    if (res.lng > maxLng) maxLng = res.lng;
    if (res.lng < minLng) minLng = res.lng;
    if (res.lat > maxLat) maxLat = res.lat;
    if (res.lat < minLat) minLat = res.lat;
    }
    var cenLng = (parseFloat(maxLng) + parseFloat(minLng)) / 2;
    var cenLat = (parseFloat(maxLat) + parseFloat(minLat)) / 2;
    var zoom = getZoom(maxLng, minLng, maxLat, minLat);
    map.centerAndZoom(new BMap.Point(cenLng, cenLat), zoom);
    } else {
    //没有坐标,显示全中国
    map.centerAndZoom(new BMap.Point(103.388611, 35.563611), 5);
    }
    }

    setZoom(pointArr)

  • 相关阅读:
    1337语言
    BEEF实战全记录
    MySQL字符集编码设置与PHP显示乱码的解决办法
    设置MySql5.5数据库的字符编码为UTF8,解决中文乱码问题
    如何在BeEF中使用metasploit颠覆你的浏览器
    xss窃取cookie测试
    xss测试代码
    'or'='or'经典漏洞代码分析
    mysql注入漏洞测试网页
    ipc$入侵
  • 原文地址:https://www.cnblogs.com/ly570/p/11488509.html
Copyright © 2020-2023  润新知