Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在google maps api v3上旋转.gif图像?_Javascript_Image_Google Maps Api 3_Rotation_Gif - Fatal编程技术网

Javascript 在google maps api v3上旋转.gif图像?

Javascript 在google maps api v3上旋转.gif图像?,javascript,image,google-maps-api-3,rotation,gif,Javascript,Image,Google Maps Api 3,Rotation,Gif,我在这个问题上找到了很多答案,但当使用.gif图像而不是标记时,这些答案并不适用。要使用.gif图像(以及动画gif),我使用代码(这很有效) //对于没有使用.gif的人来说,“optimized:false”一行是至关重要的 我现在要做的是旋转gif图像(旋转到指定的角度,而不是恒定旋转[我可以像动画gif那样旋转])。dissite设置带有“store\u ID:mkrID”的图像的ID,var mkrID是以前创建的,我可以用code marker.get(“store\u ID”)读回

我在这个问题上找到了很多答案,但当使用.gif图像而不是标记时,这些答案并不适用。要使用.gif图像(以及动画gif),我使用代码(这很有效)

//对于没有使用.gif的人来说,“optimized:false”一行是至关重要的

我现在要做的是旋转gif图像(旋转到指定的角度,而不是恒定旋转[我可以像动画gif那样旋转])。dissite设置带有“store\u ID:mkrID”的图像的ID,var mkrID是以前创建的,我可以用code marker.get(“store\u ID”)读回它,这样我就知道它已经设置好了。我无法使用document.getElementById访问图像。我也不能让谷歌地图API的任何代码工作。我发现的例子似乎是针对v2的,或者与谷歌地图自己的标记有关,而不是使用gif的自定义图像

有人能够在谷歌地图中旋转gif图像吗?

标记的“store\u id”属性不允许您访问包含该图像的DOM元素。如果每个标记都有一个唯一的图标,则可以通过JQuery使用其URL抓取它,然后对其应用CSS转换:

$('img[src="http://www.geocodezip.com/mapIcons/boat-10-64.gif"]').css({
  'transform': 'rotate(45deg)'
});
注意:这将仅适用于带有
优化:false的标记

代码片段:

函数初始化(){
var map=new google.maps.map(
document.getElementById(“地图画布”){
中心:新google.maps.LatLng(37.47949,-122.083168),
缩放:13,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
变量图像={
网址:'http://www.geocodezip.com/mapIcons/boat-10-64.gif',
尺寸:新谷歌地图尺寸(75,75),
来源:新google.maps.Point(0,0),
主播:新google.maps.Point(0,32),
scaledSize:new google.maps.Size(50,50)
};
var marker=new google.maps.marker({
位置:map.getCenter(),
地图:地图,
图标:图像,
商店标识:“mkrID”,
优化:错误
});
var rotationAngle=10;
google.maps.event.addListenerOnce(map'idle',function(){
setInterval(函数(){
$('img[src=”http://www.geocodezip.com/mapIcons/boat-10-64.gif“]”).css({
“变换”:“旋转(“+旋转角度+”度)”
});
旋转角度+=10;
}, 1000);
});
}
google.maps.event.addDomListener(窗口“加载”,初始化)
html,
身体,
#地图画布{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}

另一种方法是使用


请参阅此处以了解更多信息。

谢谢您的回复。有趣。目前,所有图像都是相同的(但旋转角度不同),因此为了实现这一点,我可以创建具有不同名称的相同gif副本。这有点笨拙,但只要地图上没有太多的图像就可以添加GET变量(什么都不做),例如
nonclumsy.gif?1
/
nonclumsy.gif?2
/
nonclumsy.gif?3
将帮助您复制gif。仍然不是很好,因为浏览器将单独下载所有内容,但如果不是数千个,那么可以从store_id进行轮换吗?如果在地图上加载的
优化的
参数超过10个标记,则复制图像不好。让我一天都很愉快
$('img[src="http://www.geocodezip.com/mapIcons/boat-10-64.gif"]').css({
  'transform': 'rotate(45deg)'
});
    .
    .
    var overlay = new google.maps.OverlayView();
    overlay.draw = function() {
        this.getPanes().markerLayer.id = 'markerLayer';
    }
    overlay.setMap(map);
    .
    .
    var deg = 270;
    document.querySelector("#markerLayer img").style.transform = 'rotate(' + deg + 'deg)';
    .