我正在开发一个基于地理位置的游戏。带有标记的地图是它的核心组成部分之一。我们正在使用
- 电话间隙 2.2
- 该问题仅出现在 Android 4.2.x 上(在 Nexus 4、7 和 10 上测试)
- 谷歌地图 API V3
- 我们正在使用 PhonegapBuild 构建它
- MarkerImages 与缩放图像一起使用(参见下面的代码)
不幸的是,我在地图上正确显示标记时遇到了一些问题。瓷砖周围似乎有一个小边框,并且标记是在这个边框上切割的。该问题并不总是发生。
放大地图后,标记会正确显示。
下面的代码显示了我们如何添加标记和定义地图。
map = new google.maps.Map(document.getElementById('map'), {
zoom : 14,
mapTypeControl : false,
center : new google.maps.LatLng(lastPos.lat, lastPos.lon),
mapTypeId : google.maps.MapTypeId.ROADMAP,
streetViewControl : false,
styles : [..]
});
[some time later, after making sure map is initialized, is displayed and so on...]
var markerimage = {
url : image,
size : new google.maps.Size(60, 106),
origin : new google.maps.Point(0, 0),
anchor : new google.maps.Point(15, 53),
scaledSize : new google.maps.Size(30, 53)
};
var marker = new google.maps.Marker({
position : new google.maps.LatLng(spot.position.latitude, spot.position.longitude),
icon : markerimage,
optimized : true,
clickable : true,
draggable : false,
map : map,
zIndex: 2
});
有谁知道这个问题或如何解决它?
谢谢!
编辑:
我只是尝试了几件事。我禁用了应用程序中的所有 CSS 和所有不需要的 Javascript,我从标记和地图中删除了自定义样式。但是Bug还是出现了。地图大小现在设置为固定宽度和高度(按像素)。我真的被这个错误抓狂了!标记重复,被拉伸并被切割......!我在下面附上了一个新的截图。
.