1 回答

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
這個(gè) jsfiddle 為信息窗口創(chuàng)建一個(gè)自定義 div:
http://jsfiddle.net/b170s71d/3/
var geocoder;
var map;
var overlay;
function initialize() {
var map = new google.maps.Map(
document.getElementById("map_canvas"), {
center: new google.maps.LatLng(37.4419, -122.1419),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
map: map,
draggable: true,
position: map.getCenter()
});
google.maps.event.addListener(map, 'projection_changed', function() {
overlay = new google.maps.OverlayView();
overlay.draw = function() {};
overlay.setMap(map);
var info = document.getElementById('myinfo');
google.maps.event.addListener(marker, 'click', function(e) {
var point = overlay.getProjection().fromLatLngToDivPixel(e.latLng);
var point2 = overlay.getProjection().fromLatLngToContainerPixel(e.latLng);
document.getElementById('info').innerHTML = "click:" + e.latLng.toUrlValue(6) + "<br>pointD:" + point.x + "," + point.y + "<br>pointC" + point2.x + "," + point2.y;
info.style.left = (point2.x - 100) + 'px';
info.style.top = (point2.y - 60) + 'px';
info.style.display = 'block';
});
google.maps.event.addListener(map, 'center_changed', function(e) {
var point = overlay.getProjection().fromLatLngToDivPixel(marker.getPosition());
var point2 = overlay.getProjection().fromLatLngToContainerPixel(marker.getPosition());
document.getElementById('info').innerHTML = "marker:" + marker.getPosition().toUrlValue(6) + "<br>pointD:" + point.x + "," + point.y + "<br>pointC" + point2.x + "," + point2.y;
info.style.left = (point2.x - 100) + 'px';
info.style.top = (point2.y - 60) + 'px';
info.style.display = 'block';
});
google.maps.event.addListener(marker, 'drag', function(e) {
var point = overlay.getProjection().fromLatLngToDivPixel(marker.getPosition());
var point2 = overlay.getProjection().fromLatLngToContainerPixel(marker.getPosition());
document.getElementById('info').innerHTML = "marker:" + marker.getPosition().toUrlValue(6) + "<br>pointD:" + point.x + "," + point.y + "<br>pointC" + point2.x + "," + point2.y;
info.style.left = (point2.x - 100) + 'px';
info.style.top = (point2.y - 60) + 'px';
info.style.display = 'block';
});
});
}
google.maps.event.addDomListener(window, "load", initialize);
添加回答
舉報(bào)