我的意思是,我想将地图置于固定位置:
map.setCenter(markerCliccato.getPosition());
和更少(Y轴)100px向下。可能吗?或者我需要这个“虚拟”点的Lat / Lng?
这是因为我有一个非常高的InfoWindow,我需要将它从地图顶部放到100px!不能在infowindow上使用“margin”因为可以在地图上用其他标记制造麻烦。
示例
我将这一点称为Lat / Lng:https://maps.google.com/?q=54.572062,-3.038818
但是我希望将地图置于https://maps.google.com/?q=54.486793,-3.042046的中心位置(在我的位置上或多或少100px,在地图中)
答案 0 :(得分:2)
好的,我需要张贴图片:)
这是在点击之前
这是在
之后
没有灰色区域,地图全部呈现。
另外,要查看标记,您必须允许网站跟踪您的位置。
function offsetCenter(latlng, offsetx, offsety) {
var scale = Math.pow(2, map.getZoom());
var nw = new google.maps.LatLng(
map.getBounds().getNorthEast().lat(), map.getBounds().getSouthWest().lng());
var worldCoordinateCenter = map.getProjection().fromLatLngToPoint(latlng);
var pixelOffset = new google.maps.Point((offsetx / scale) || 0, (offsety / scale) || 0)
var worldCoordinateNewCenter = new google.maps.Point(
worldCoordinateCenter.x - pixelOffset.x, worldCoordinateCenter.y + pixelOffset.y);
var newCenter = map.getProjection().fromPointToLatLng(worldCoordinateNewCenter);
map.setCenter(newCenter);
}
看到它在这里工作:http://jsfiddle.net/RASG/vA4eQ/
使用FF 15,IE 9和Chrome 21进行测试