- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在图标中使用 svg 符号,问题是当我使用 setPosition 时, map 上的图标或标记在标题更改时不会旋转。但是如果我更改为 setMap(map) ,它将更改标题,问题是图标或标记会再次闪烁,这是我不喜欢的。使用 setPosition 时如何旋转 svg?
提前谢谢您。
var map;
var marker;
var markerarray =[];
var car = "M17.402,0H5.643C2.526,0,0,3.467,0,6.584v34.804c0,3.116,2.526,5.644,5.643,5.644h11.759c3.116,0,5.644-2.527,5.644-5.644 V6.584C23.044,3.467,20.518,0,17.402,0z M22.057,14.188v11.665l-2.729,0.351v-4.806L22.057,14.188z M20.625,10.773 c-1.016,3.9-2.219,8.51-2.219,8.51H4.638l-2.222-8.51C2.417,10.773,11.3,7.755,20.625,10.773z M3.748,21.713v4.492l-2.73-0.349 V14.502L3.748,21.713z M1.018,37.938V27.579l2.73,0.343v8.196L1.018,37.938z M2.575,40.882l2.218-3.336h13.771l2.219,3.336H2.575z M19.328,35.805v-7.872l2.729-0.355v10.048L19.328,35.805z";
setInterval(function(){
$.ajax({
type: "post",
url: "vehiclecordinates.php",
success: function(data){
coordinates = data.latlng;
vehiclename = data.vehiclename;
heading = data.heading;
for (var i = 0; i < coordinates.length; i++) {
newcoordinate = new google.maps.LatLng(coordinates[i].split(",")[0],coordinates[i].split(",")[1]);
if (markerarray[vehiclename[i]] && markerarray[vehiclename[i]].setPosition){
markerarray[vehiclename[i]].icon.rotation = parseInt(heading[i]);
markerarray[vehiclename[i]].setPosition(newcoordinate);
}else {
marker = new MarkerWithLabel({
map:map,
labelClass: "mylabels",
labelStyle: {opacity: 1.0},
labelContent: '<div>'+ vehiclename[i]+'</div>',
icon:{
path: car
scale:.7,
strokeColor: 'white',
strokeWeight: .10,
fillOpacity: 1,
fillColor: '#404040',
offset: '5%',
rotation: parseInt(heading[i]),
anchor: new google.maps.Point(10, 50)
}
});
marker.setPosition(newcoordinate);
markerarray[vehiclename[i]] = marker;
}
}
}
});
},5000);
更新我让它工作了,但标签在闪烁,但符号不闪烁,这是我的解决方案
if (markerarray[vehiclename[i]] && markerarray[vehiclename[i]].setPosition){
markerarray[vehiclename[i]].icon.rotation = parseInt(heading[i]);
markerarray[vehiclename[i]].setPosition(newcoordinate);
new MarkerWithLabel(markerarray[vehiclename[i]]);
}
如果这不是个好主意,请告诉我。
最佳答案
看起来像是 MarkerWithLabel 的问题,而不是 API 本身的问题。
如果我使用 google.maps.Marker 对象:
marker = new google.maps.Marker({
position: new google.maps.LatLng(50.124462, -5.539994),
icon: icon
});
var car = "M17.402,0H5.643C2.526,0,0,3.467,0,6.584v34.804c0,3.116,2.526,5.644,5.643,5.644h11.759c3.116,0,5.644-2.527,5.644-5.644 V6.584C23.044,3.467,20.518,0,17.402,0z M22.057,14.188v11.665l-2.729,0.351v-4.806L22.057,14.188z M20.625,10.773 c-1.016,3.9-2.219,8.51-2.219,8.51H4.638l-2.222-8.51C2.417,10.773,11.3,7.755,20.625,10.773z M3.748,21.713v4.492l-2.73-0.349 V14.502L3.748,21.713z M1.018,37.938V27.579l2.73,0.343v8.196L1.018,37.938z M2.575,40.882l2.218-3.336h13.771l2.219,3.336H2.575z M19.328,35.805v-7.872l2.729-0.355v10.048L19.328,35.805z";
var icon= {
path: car,
scale:.7,
strokeColor: 'white',
strokeWeight: .10,
fillOpacity: 1,
fillColor: '#404040',
offset: '5%',
// rotation: parseInt(heading[i]),
anchor: new google.maps.Point(10, 50)
};
setInterval(function () {
angle += 30;
icon.rotation = angle;
marker.setIcon(icon);
marker.setPosition(google.maps.geometry.spherical.computeOffset(marker.getPosition(), 1000, 90));
map.setCenter(marker.getPosition());
}, 1000);
它有效。
如果我使用与 MarkerWithLabel 相同的代码,它会出现 JavaScript 错误(Uncaught TypeError: Cannot read property 'x' of null
, Uncaught TypeError: Cannot read property 'k' of undefined
)并失败:
var car = "M17.402,0H5.643C2.526,0,0,3.467,0,6.584v34.804c0,3.116,2.526,5.644,5.643,5.644h11.759c3.116,0,5.644-2.527,5.644-5.644 V6.584C23.044,3.467,20.518,0,17.402,0z M22.057,14.188v11.665l-2.729,0.351v-4.806L22.057,14.188z M20.625,10.773 c-1.016,3.9-2.219,8.51-2.219,8.51H4.638l-2.222-8.51C2.417,10.773,11.3,7.755,20.625,10.773z M3.748,21.713v4.492l-2.73-0.349 V14.502L3.748,21.713z M1.018,37.938V27.579l2.73,0.343v8.196L1.018,37.938z M2.575,40.882l2.218-3.336h13.771l2.219,3.336H2.575z M19.328,35.805v-7.872l2.729-0.355v10.048L19.328,35.805z";
var icon= {
path: car,
scale:.7,
strokeColor: 'white',
strokeWeight: .10,
fillOpacity: 1,
fillColor: '#404040',
offset: '5%',
// rotation: parseInt(heading[i]),
anchor: new google.maps.Point(10, 50)
};
marker = new MarkerWithLabel({
map:map,
labelClass: "mylabels",
labelStyle: {opacity: 1.0},
labelContent: '<div>'+ "vehiclename[i]"+'</div>',
icon:{
path: car,
scale:.7,
strokeColor: 'white',
strokeWeight: .10,
fillOpacity: 1,
fillColor: '#404040',
offset: '5%',
// rotation: parseInt(heading[i]),
anchor: new google.maps.Point(10, 50)
}
});
setInterval(function () {
angle += 30;
icon.rotation = angle;
marker.setIcon(icon);
marker.setPosition(google.maps.geometry.spherical.computeOffset(marker.getPosition(), 1000, 90));
map.setCenter(marker.getPosition());
}, 1000);
关于javascript - 使用 setPosition 时旋转不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28803103/
两种方法实现: public void setPosiotion(int x, int y) { //do nothing } public void setPosiotion(Point point
任务:从 mpeg2 视频文件中抓取任意帧。 现在我使用自定义渲染过滤器进行抓取,但在所需帧上定位视频时出现问题。 我使用 SetPosition(),在 Pause() 通过图形传递帧之后,等待过滤
这里是一个代码:http://jsfiddle.net/QQaZp/1/ var setPosition = function() { $('div').css('top', ($(wind
我尝试了以下代码,但是当我第二次单击 mMan1 将其从 520 移动到 422(x 中)时,它什么也没做(当我第一次单击时,setPosition 工作正常)。 \\ in onCreate
我有一个自定义CALayer,我使用CAAnimationGroup对其进行动画处理,以遵循路径并以与路径相切的方式旋转: // Create the animation path CAKeyf
我在图标中使用 svg 符号,问题是当我使用 setPosition 时, map 上的图标或标记在标题更改时不会旋转。但是如果我更改为 setMap(map) ,它将更改标题,问题是图标或标记会再次
我在使用 KineticJS 时遇到了一些麻烦。 从我的fiddle可以看出,我能够在我的放置事件中访问 Shape 对象(框),以获得 x,y 坐标,并且我正在对它们执行数学运算以获得我想要将形状“
我有一个将对象放入屏幕的循环。但出于某种原因,一些对象虽然在 printf 中打印了正确的坐标,但在 (0,0) 点,就好像他没有完成设置它的位置一样。 for (int i =0 ; i getPh
我在顶部的图层中有一个拇指 slider 和一个 Slick slider ,通过带有 display:none 的 css 隐藏。在点击事件上我调用了 setPosition 但它不起作用(
我在顶部的图层中有一个拇指 slider 和一个 Slick slider ,通过带有 display:none 的 css 隐藏。在点击事件上我调用了 setPosition 但它不起作用(
我正在创建要导出到 Excel 的图表。我需要创建多个,因此我将使用带有 4 个参数的 SetPosition() 方法来抵消它们: SetPosition(int row, int rowoffse
所以我在玩弄 KineticJS,我在制作一个按钮时遇到了一些问题。我想让它做的就是在我单击它时重置我的对象的位置。 我已经创建了按钮,设置了 onclick 处理程序以指向我创建的函数(并包含在 H
在我正在开发的一个应用程序中,根据车辆的最后已知速度,我每 100 毫秒插值一次车辆的下一个位置,并将其绘制在 map 上。这会导致移动设备出现性能问题。 我们还使用 MarkerWithLabels
我很高兴改进我的 C++ 程序,我通过 directshow 阅读视频。现在我也试着写视频,效果也很好。 然后是寻找合适的编解码器(考虑了 vob/ogg)... 但是,今天突然间视频显示的很慢。 现
问题的简单版本: 如何使用 setPositions 字段创建 EKRecurrenceRule 对象? 较长版本的问题: 我在我的应用程序中使用以下代码创建了一个带有 EKRecurrenceRul
本文整理了Java中com.facebook.yoga.YogaNode.setPosition()方法的一些代码示例,展示了YogaNode.setPosition()的具体用法。这些代码示例主要来
在 v4 中,如果您使用 AKPlayer带循环和使用 setPosition API,播放器在 setPosition 设置的位置之间循环和球员的总持续时间。我需要的是从setPosition设置的
我有一个 html 页面,它使用 Firebase 来获取更新的地理位置数据。然后该数据用于更新谷歌地图中的标记。 map 在笔记本电脑上的 Chrome 浏览器中工作正常( map 渲染,标记相应移
所以我的代码遇到了问题,我尝试从从数据库下载的变量设置谷歌街景位置。它的数据库和 php 端可以工作,但是当我尝试将其分配给“panorama.setPosition(prizeLocation);”
我正在尝试根据平移手势移动一组 CALayers。 我正在使用此代码: -(void)handlePanFrom:(UIPanGestureRecognizer *)recognizer {
我是一名优秀的程序员,十分优秀!