Карты Google: программная прокрутка карты на x пикселей

scroll gmaps

Есть ли простой способ программно прокрутить карту Google x пикселей?

Я могу думать только об использовании setCenter, но проблема в том, что мне придется вычислять новое местоположение (широта/долгота) в зависимости от уровня масштабирования...

Можете ли вы подумать о что-то другое? Сказать мне, что это невозможно с API Карт Google, является правильным ответом, если вы в этом уверены.

ps: я использую Gmaps4rails, так что если вы придумаете способ сделать это с помощью драгоценного камня, это будет здорово. (например, настройка границ для подмножества карты.) Потому что, в конце концов, моя цель — не дать меню скрыть некоторые маркеры. Мне нужно будет изменить область просмотра карты, если это имеет смысл, чтобы маркеры помещались в оранжевую область, а не на всю карту.

fit markers


Решение:

@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, сообщите нам об этом.

13
задан Community 8 February 2017 в 14:34
поделиться