HTML新特性【规划公交路线、规划步行路线、定位、自定义视角动画、账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置】(五)-全面详解(学习总结---从入门到深化)(上)

简介: HTML新特性【规划公交路线、规划步行路线、定位、自定义视角动画、账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置】(五)-全面详解(学习总结---从入门到深化)

百度地图_规划公交路线



1 创建公交导航实例


TransitRoute(location,options)


2 使用实例发起检索


TransitRoute.search(start,end)

        //创建公交导航实例
        var transit = new BMapGL.TransitRoute(map, {
            renderOptions: { map: map },
            onSearchComplete: function (result) {
                // 获取第一个计划
                var plan = result.getPlan(0)
                var distance = plan.getDistance(true)
                var duration = plan.getDuration(true)
                document.querySelector('.result').innerHTML = '总路程为:' + distance + ';预计花费' + duration
           }
       })
        //获取地址解析器
        var geocoder = new BMapGL.Geocoder()
        var startPoint, endPoint;
       document.querySelector('#start').onblur = function (e) {
            // 获取起点的坐标
          geocoder.getPoint(e.target.value, function (p) {
                startPoint = p
           })
       }
      document.querySelector('#end').onblur = function (e) {
            //获取终点的坐标
          geocoder.getPoint(e.target.value, function (p) {
                endPoint = p
           })
       }
        document.querySelector('#search').onclick  = function () {
            //发起检索
            transit.search(startPoint, endPoint)
       }


百度地图_规划步行路线



1 创建步行导航实例


WalkingRoute(location,options)


2 使用实例发起检索


WalkingRoute.search(start,end)

        //创建步行导航实例
         var walking = new BMapGL.WalkingRoute(map, {
            renderOptions: { map: map },
            onSearchComplete: function (result) {
                // 获取第一个计划
                var plan = result.getPlan(0)
                var distance = plan.getDistance(true)
                var duration = plan.getDuration(true)
                document.querySelector('.result').innerHTML = '总路程为:' + distance + ';预计花费' + duration
           }
       })
        //获取地址解析器
        var geocoder = new BMapGL.Geocoder()
        var startPoint, endPoint;
       document.querySelector('#start').onblur = function (e) {
            // 获取起点的坐标
          geocoder.getPoint(e.target.value, function(p) {
                startPoint = p
           })
       }
      document.querySelector('#end').onblur = function (e) {
            //获取终点的坐标
           geocoder.getPoint(e.target.value, function (p) {
                endPoint = p
           })
       }
      document.querySelector('#search').onclick = function () {
            //发起检索
          walking.search(startPoint,endPoint)
       }


百度地图_定位



1 浏览器定位:优先调用浏览器H5定位接口,如果失败会调用IP


定位


使用的类: Geolocation

        // 创建定位实例
         var geolocation = new BMapGL.Geolocation();
        //获取定位并传递回调函数
        geolocation.getCurrentPosition(function (r) {
            console.log(r)
            //判断返回的状态码是否为成功
            if (geolocation.getStatus() == BMAP_STATUS_SUCCESS) {
                var mk = new BMapGL.Marker(r.point);
                map.addOverlay(mk);
                //将地图的中心改为指定的点
                map.panTo(r.point);
                alert('您的位置:' + r.point.lng + ',' + r.point.lat);
           }
            else {
                alert('失败' + geolocation.getStatus());
           }
       });


2 IP定位:根据用户IP 返回城市级别的定位结果


使用的类: LocalCity

        //创建ip定位实例
        var myCity = new BMapGL.LocalCity();
        myCity.get(function(result){
            var cityName = result.name;
            //设置地图中心点,参数除了可以为坐标点以外,还支持城市名
            map.setCenter(cityName);
            console.log("当前定位城市:" + cityName);
       });


百度地图_自定义视角动画



您可以自定义从地图上某一地点切换到另一地点的3D过渡动画效 果。


1、初始化地图


2、自定义关键帧

var keyFrames = [
           {
                center: new BMapGL.Point(116.40396298757886,39.91511908708907),     // 定义第一个关键帧帧地图中心点
                zoom: 18,                
                     // 定义第一个关键帧地图等级
                tilt: 60,                
                     // 定义第一个关键帧地图倾斜角度
                heading: 0,              
                     // 定义第一个关键帧地图旋转方向
                percentage: 0            
                     // 定义第一个关键帧处于动画过程的百分比,取值范围0~1
           },
          {
                center: new BMapGL.Point(116.38096834279554,39.9156803086881),     // 定义第二个关键帧地图中心点
                zoom: 18,                
                     // 定义第二个关键帧地图等级
                tilt: 60,                
                     // 定义第二个关键帧地图倾斜角度
                heading: 0,              
                   // 定义第二个关键帧地图旋转方向
                percentage: 1            
                  // 定义第二个关键帧处于动画过程的百分比,取值范围0~1
           },
       ];


3、设置动画属性

var opts = {
    duration: 10000,     // 设置每次迭代动画持续时间
    delay: 3000,         // 设置动画延迟开始时间
    interation: 1        // 设置动画迭代次数
};


4、创建动画实例

var animation = new BMapGL.ViewAnimation(keyFrames, opts);


5、播放动画

map.startViewAnimation(animation);
//传入动画实例


6、强制停止动画

map.cancelViewAnimation(animation);      
  // 强制停止动画


百度地图_账号和获取密钥



百度地图提供了一套由JavaScript语言编写的应用程序接口,该套接 口目前最新版本为 JavaScript API GL v1.0 。 使用这些接口我们就可以在页面上构建功能丰富、交互性强的地图应用。


HTML新特性【规划公交路线、规划步行路线、定位、自定义视角动画、账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置】(五)-全面详解(学习总结---从入门到深化)(下):https://developer.aliyun.com/article/1420278

目录
相关文章
|
4月前
|
移动开发 HTML5
HTML5标签的类型
HTML5标签的类型。
102 5
|
2月前
|
移动开发 HTML5
HTML5 3D地球仪可按经纬坐标定位特效
这是一个基于HTML5的3D地球仪动画,地球仪不仅可以自动自西向东旋转,而且还可以旋转到指定经纬度坐标。另外,还有一个控制面板,可以控制地球是否自转、光晕是否显示,以及地理缩放。你也可以通过拖拽鼠标来改变地球仪的视角,可以将它移至南北极的视角,也可以移至赤道的视角,非常方便。需要的朋友可下载试试!
102 2
|
3月前
利用html2canvas插件自定义生成名片信息并保存图片
这是一个利用html2canvas插件自定义生成名片信息并保存图片,自定义上传头像,自定义输入个人信息内容,自定义图片名称,并将生成的图片保存到本地
66 1
利用html2canvas插件自定义生成名片信息并保存图片
|
3月前
|
Web App开发 移动开发 iOS开发
HTML5 新的 Input 类型6
`<input type="url">` 用于需要输入 URL 的表单字段,浏览器会自动验证输入是否为有效网址
|
3月前
|
Web App开发 移动开发 iOS开发
HTML5 新的 Input 类型5
HTML5 引入了多种新的输入类型,以增强用户体验和数据验证。`<input type="tel">` 用于输入电话号码;`<input type="time">` 允许用户选择时间(不带时区);`<input type="url">` 用于输入网址,支持自动验证。这些输入类型在不同浏览器中的支持情况有所不同,但大多数现代浏览器均能良好支持。例如,在 iPhone 的 Safari 浏览器中,使用 `url` 类型时,键盘会特别显示 `.com` 按钮以方便输入。
|
3月前
|
移动开发 HTML5
HTML5 新的 Input 类型2
`<input>` 标签提供多种类型以满足不同需求:`datetime` 类型用于选择 UTC 时间的日期和时间;`datetime-local` 类型用于选择不带时区的日期和时间;`email` 类型则确保输入的是有效的电子邮件地址,适用于需要收集用户邮箱信息的场景。
|
3月前
|
移动开发 HTML5
HTML5 新的 Input 类型3
`<input type="month">` 允许用户选择一个月份,适用于需要指定月份和年的场景。示例:生日 (月和年)。 `<input type="number">` 用于需要数值输入的场合,可设置数值范围等限制。示例:数量 (1 到 5 之间)。支持 `disabled`, `max`, `min` 等属性以增强功能。
|
3月前
|
Web App开发 移动开发 iOS开发
HTML5 新的 Input 类型1
HTML5引入了多种新的输入类型,如color、date、email等,增强了表单的输入控制与验证功能。尽管并非所有浏览器都完全支持,但这些新类型仍可在主流浏览器中使用,不支持时会退化为普通文本输入。例如,`<input type="color">`允许用户通过颜色选择器选取颜色,而`<input type="date">`则提供了一个日期选择器来方便用户选择日期。
HTML 统一资源定位器(Uniform Resource Locators)3
URL字符编码是指将URL中非ASCII字符转换为有效的ASCII格式的过程。URL只能使用ASCII字符集,因此需要对超出该集合的字符进行编码。URL编码使用“%”加上两位十六进制数来表示非ASCII字符,空格通常被编码为“+”。例如,€编码为%80,£编码为%A3。更多信息可参见URL编码参考手册。
|
3月前
|
安全 数据安全/隐私保护
HTML 统一资源定位器(Uniform Resource Locators)2
常见的URL Scheme包括:http(超文本传输协议,用于普通网页,不加密)、https(安全超文本传输协议,用于安全网页,加密信息交换)、ftp(文件传输协议,用于文件的上传和下载)、file(用于访问本地计算机上的文件)。

热门文章

最新文章