Есть ли простой способ программно прокрутить карту Google x
пикселей?
Я могу думать только об использовании setCenter
, но проблема в том, что мне придется вычислять новое местоположение (широта/долгота) в зависимости от уровня масштабирования...
Можете ли вы подумать о что-то другое? Сказать мне, что это невозможно с API Карт Google, является правильным ответом, если вы в этом уверены.
ps: я использую Gmaps4rails, так что если вы придумаете способ сделать это с помощью драгоценного камня, это будет здорово. (например, настройка границ для подмножества карты.) Потому что, в конце концов, моя цель — не дать меню скрыть некоторые маркеры. Мне нужно будет изменить область просмотра карты, если это имеет смысл, чтобы маркеры помещались в оранжевую область, а не на всю карту.
Решение:
@Shane Лучший, отлично, идея отлично работает, но я думаю, что ваше решение было для Google API v2, верно? Вот как я это сделал для V3:
var point = map.getCenter();
var overlay = new google.maps.OverlayView();
overlay.draw = function() {};
overlay.setMap(map);
var projection = overlay.getProjection();
var pixelpoint = projection.fromLatLngToDivPixel(point);
pixelpoint.x += my_value; # or .y
point = projection.fromDivPixelToLatLng(pixelpoint);
map.setCenter(point);
Если кто-нибудь знает о лучшем решении с API v3, сообщите нам об этом.