dazu finden Frage: How to offset the center of a Google maps (API v3) in pixels?
Dies ist eine Modifikation einer Antwort, die ich here zur Verfügung gestellt habe.
google.maps.Map.prototype.setCenterWithOffset= function(latlng, offsetX, offsetY) {
var map = this;
var ov = new google.maps.OverlayView();
ov.onAdd = function() {
var proj = this.getProjection();
var aPoint = proj.fromLatLngToContainerPixel(latlng);
aPoint.x = aPoint.x+offsetX;
aPoint.y = aPoint.y+offsetY;
map.setCenter(proj.fromContainerPixelToLatLng(aPoint));
};
ov.draw = function() {};
ov.setMap(this);
};
Anschließend können Sie es wie so verwenden:
var latlng = new google.maps.LatLng(-34.397, 150.644);
var map = new google.maps.Map(document.getElementById("map_canvas"), {
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: latlng
});
map.setCenterWithOffset(latlng, 0, 250);
Hier ist ein funktionierendes example.
Schöne Lösung !!! Arbeitete so sauber !!!! – TruMan1
Ich verwende es auf onMarkerClick(). Wenn ich über ein Mark klicke funktioniert perfekt, aber wenn ich die Markierung (aus Code) mit google.maps.event.trigger fire (thisMark, 'click'); nicht funktionieren ... aber nichts (ich kann damit leben) ... Es ist die beste Lösung, Offset zu tun. Vielen Dank!!! – Equiman
Schöne und elegante Lösung. – ChrisRich