Google maps Google Maps V3:鼠标xy位置,用于在标记上单击自定义弹出窗口,来自LatlngToContainerPixel
我想在点击一个标记的时候做我自己的js弹出窗口。 因为我在API中没有发现任何与此相关的内容,所以我只是 思考 获取鼠标的xy位置,然后“绘制”我的div 找到以下示例: 但是当我执行console.log(marker.getPosition())时,它总是0,0 任何人都有自己的自定义弹出窗口,可以给我一个如何做的提示 这 我应该使用“fromLatLngToContainerPixel”还是其他 优雅的方式 下面是一些代码_spots是一个json对象Google maps Google Maps V3:鼠标xy位置,用于在标记上单击自定义弹出窗口,来自LatlngToContainerPixel,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我想在点击一个标记的时候做我自己的js弹出窗口。 因为我在API中没有发现任何与此相关的内容,所以我只是 思考 获取鼠标的xy位置,然后“绘制”我的div 找到以下示例: 但是当我执行console.log(marker.getPosition())时,它总是0,0 任何人都有自己的自定义弹出窗口,可以给我一个如何做的提示 这 我应该使用“fromLatLngToContainerPixel”还是其他 优雅的方式 下面是一些代码_spots是一个json对象 for (var i = 0;
for (var i = 0; i <= _spots.length; i++) {
var myLatLng = new google.maps.LatLng(_spots[i].lat, _spots[i].long);
var spotMarker = new google.maps.Marker({
position: myLatLng,
map: map,
title: _spots[i].name,
animation: google.maps.Animation.DROP,
icon: image,
street: _spots[i].street,
zipcode: _spots[i].zipcode,
info: _spots[i].info,
});
markersArray.push(spotMarker);
google.maps.event.addListener(spotMarker, 'click', function() {
console.log(this);
alert(spotMarker.getPosition()); // -> at this point I get 0,0
var projection = overlay.getProjection();
var pixel = projection.fromLatLngToContainerPixel(spotMarker.getPosition());
console.log(pixel);
});
}
for(var i=0;此时我得到0,0
var projection=overlay.getProjection();
var pixel=projection.fromLatLngToContainerPixel(spotMarker.getPosition());
控制台日志(像素);
});
}
致以最良好的祝愿,
sv
…以访问单击的标记
spotMarker将始终返回相同的标记(已创建的最后一个标记)marker.getPosition不应返回坐标,而应返回一个google.maps.latLng。你能发一些代码吗?有时(我遇到了这种情况),除非显式地设置position(),否则标记将返回未定义的getPosition。看到这个了吗
for (var i = 0; i <= _spots.length; i++)
for (var i = 0; i < _spots.length; i++)
alert(this.getPosition());