【发布时间】:2013-03-01 04:00:35
【问题描述】:
我正在开发一款基于地理位置的游戏。带有标记的地图是它的核心组成部分之一。我们正在使用
- Phonegap 2.2
- 该问题仅在 Android 4.2.x 上出现(在 Nexus 4、7 和 10 上测试)
- GoogleMaps 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还是出现了。地图大小现在设置为固定宽度和高度(按像素)。我真的被这个错误抓狂了!标记重复,被拉伸并被切割......! 我在下面附上了一个新的截图。
。
【问题讨论】:
-
尝试删除 zIndex:2,地图实时渲染,可能加载顺序错误。 (即,正在放置标记,但地图图像尚未实际加载,直到它在视图中)
-
嗯,但是蓝点并没有像它应该的那样在其他标记上。我已经通过在地图上添加一个监听器来工作了。每次缩放更改时,我都会调整地图的大小。然后所有标记都正确显示。但瓷砖之间的边界仍然存在。
-
地图上没有样式时是否存在?
-
是的。我在没有自定义样式和只有默认标记的情况下对其进行了测试。
标签: android cordova google-maps-api-3 google-maps-markers