Javascript 谷歌地图MarkerImage精灵为空(不可见、透明)
我正在使用图像精灵为Google maps(v3)标记对象定义标记图像。精灵图像从0,0(左上)向下100像素。代码如下:Javascript 谷歌地图MarkerImage精灵为空(不可见、透明),javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在使用图像精灵为Google maps(v3)标记对象定义标记图像。精灵图像从0,0(左上)向下100像素。代码如下: (function () { var icon = new google.maps.MarkerImage( "//localhost:8000/public/img/sprite.png", new google.maps.Size(25, 25), new google.maps.Point(0, -100));
(function () {
var icon = new google.maps.MarkerImage(
"//localhost:8000/public/img/sprite.png",
new google.maps.Size(25, 25),
new google.maps.Point(0, -100));
var position = new google.maps.LatLng(39.27, -105.99);
var marker = new google.maps.Marker({icon: icon, position: position});
marker.setMap(map);
}());
这个代码是正确的。但是,标记图像不显示
注意:我已经找到了这个问题的解决方案。我提出这个问题是因为这里还没有答案。这可能会为某人节省很多时间,对我来说也是如此。出于某种荒谬的原因,谷歌希望一个正的y轴值向下遍历图像精灵(从图形上说是负的)
如果要在css中设置(0,-100)的背景位置,则必须将(0,100)传递给Google。文档中明确说明:原点:点:图像在精灵中的位置,如果有的话。默认情况下,原点位于图像的左上角(0,0)。这支持了我的论点。在图形上,右为正Y,下为负X。使用CSS背景位置,按照标准惯例,右为正Y,下为负X。不,水平轴(右-左)为X轴,垂直轴(上-下)为Y轴。