0
我想做我自己的js彈出,同時在標誌點擊。 因爲我沒有在API中關於這一發現任何東西,我只是想 得到 鼠標的xy POS的,而且比「繪圖」我的股利。谷歌地圖V3:對標記定義彈出鼠標點擊xy位置,fromLatLngToContainerPixel
找到這個例子:
Get Position of Mouse Cursor on Mouseover of Google Maps V3 API Marker
但是當我做的console.log(marker.getPosition())始終是0,0。
任何人這樣做是自己的自定義彈出,並且可以給我一個提示如何做到這 ? 我應該用「fromLatLngToContainerPixel」還是另有 優雅的方式?
這裏是一些代碼。 _spots是一個json對象。
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);
});
}
最好的問候, SV
marker.getPosition不應該返回座標,而是google.maps.latLng。你可以發佈一些代碼嗎?有時候(我遇到過這種情況)標記將返回未定義的getPosition,除非你明確設置了position()。看到這裏http://code.google.com/p/gmaps-api-issues/issues/detail?id=3023 – Pete 2012-03-27 10:16:38
在這裏,我們去....參見上文 – 2012-03-27 22:50:37