栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Google Map V3上旋转图像/标记图像

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Google Map V3上旋转图像/标记图像

我已使用以下代码在v3中进行了轮换:

<canvas id="carcanvas" width="1" height="1"></canvas>    if (document.getElementById('carcanvas').getContext) {        var supportsCanvas = true;    } else {        var supportsCanvas = false;    }    var rImg = new Image();    rImg.src='/images/cariconl.png';    // Returns the bearing in radians between two points.    function bearing( from, to ) {        // Convert to radians.        var lat1 = from.latRadians();        var lon1 = from.lngRadians();        var lat2 = to.latRadians();        var lon2 = to.lngRadians();        // Compute the angle.        var angle = - Math.atan2( Math.sin( lon1 - lon2 ) * Math.cos( lat2 ), Math.cos( lat1 ) * Math.sin( lat2 ) - Math.sin( lat1 ) * Math.cos( lat2 ) * Math.cos( lon1 - lon2 ) );        if ( angle < 0.0 ) angle  += Math.PI * 2.0;        if (angle == 0) {angle=1.5;}        return angle;    }    function plotcar() {        canvas = document.getElementById("carcanvas").getContext('2d');        var cosa = Math.cos(angle);        var sina = Math.sin(angle);        canvas.clearRect(0,0,32,32);        canvas.save();        canvas.rotate(angle);        canvas.translate(16*sina+16*cosa,16*cosa-16*sina);        canvas.drawImage(rImg,-16,-16);        canvas.restore();    }

并在动画方法中:

if (supportsCanvas) {         angle = bearing(new google.maps.LatLng(lat1, lng1),new google.maps.LatLng(lat2, lng2));         plotcar();     }

希望对您有所帮助。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/398742.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号