gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 05:04:01 24 4
gpt4 key购买 nike

我找到了很多关于这个问题的答案,但没有一个在使用 .gif 图像而不是标记时有效。要使用 .gif 图像(以及动画 gif),我使用代码(有效)

var image = {
url: 'img/RedFlashYacht.gif',
size: new google.maps.Size(75, 75),
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(0, 32),
scaledSize: new google.maps.Size(50, 50)
};
marker = new google.maps.Marker({
position: pos ,
map: map,
icon: image,
store_id: mkrID,
optimized: false
});

//对于没有使用过 .gif 的人来说,'optimized: false' 这行很重要

我现在想做的是旋转 gif 图像(到指定 Angular ,而不是恒定旋转 [我可以像动画 gif 一样])。尽管使用“store_id: mkrID”设置图像的 ID,之前创建了 var mkrID,但我可以使用代码 marker.get('store_id') 读回它,所以我知道它已被设置。我无法使用 document.getElementById 访问图像。我也不能让任何谷歌地图 API 旋转示例代码工作。我发现的示例似乎适用于 v2 或与谷歌地图自己的标记相关,而不是使用 gif 的自定义图像。

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

最佳答案

标记的“store_id”属性不允许您访问包含图像的 DOM 元素。如果每个标记都有一个唯一的图标,您可以使用它的 URL 和 JQuery 来获取它,然后对其应用 CSS 转换:

$('img[src="http://www.geocodezip.com/mapIcons/boat-10-64.gif"]').css({
'transform': 'rotate(45deg)'
});

注意:这仅适用于 optimized: false

的标记

代码片段:

function initialize() {
var map = new google.maps.Map(
document.getElementById("map_canvas"), {
center: new google.maps.LatLng(37.47949, -122.083168),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var image = {
url: 'http://www.geocodezip.com/mapIcons/boat-10-64.gif',
size: new google.maps.Size(75, 75),
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(0, 32),
scaledSize: new google.maps.Size(50, 50)
};
var marker = new google.maps.Marker({
position: map.getCenter(),
map: map,
icon: image,
store_id: "mkrID",
optimized: false
});
var rotationAngle = 10;
google.maps.event.addListenerOnce(map, 'idle', function() {
setInterval(function() {
$('img[src="http://www.geocodezip.com/mapIcons/boat-10-64.gif"]').css({
'transform': 'rotate(' + rotationAngle + 'deg)'
});
rotationAngle += 10;
}, 1000);
});
}
google.maps.event.addDomListener(window, "load", initialize);
html,
body,
#map_canvas {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk"></script>
<div id="map_canvas"></div>

关于javascript - 在 google maps api v3 上旋转 .gif 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38723573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com