Индекс карты стиля Атлас для статической карты Google - PullRequest
0 голосов
/ 27 декабря 2010

Я использую статическую карту Google, но на самом деле эта проблема может относиться к любому проекту карт.Я хочу разделить карту на несколько секторов (скажем, 50x50 пикселей) и пометить столбцы как A, B, C ...., а строки - как 1, 2, 3 ...

Далее я планируючтобы сделать что-то вроде

1) Найдите маркеры, которые находятся дальше всего на север, восток, юг и запад 2) Используйте эту информацию, чтобы определить ограничивающие рамки для каждой строки и столбца 3) Классифицировать каждый маркерпо строке и столбцу (пример маркера 1 = [A, 2])

Несколько требований,

  • Я не знаю уровень масштабирования, потому что я позволил Google установить масштабированиеуровень для меня, и я бы предпочел не использовать алгоритм, который зависит от уровня масштабирования.Однако я знаю расположение всех маркеров, которые показаны на карте.

Вот пример карты, для которой я хотел бы классифицировать маркеры, пример статической картыссылка.

Я нашел такие, которые выглядят как хорошее начало, Ресурс 1 , Ресурс 2

Но я думаю, что явсе еще нуждается в некоторой помощи, чтобы начать.Кто-нибудь может помочь написать какой-нибудь псевдокод или опубликовать еще несколько ресурсов?Я сейчас как будто в колее.

Спасибо!Очень ценю любую помощь!

1 Ответ

0 голосов
/ 29 декабря 2010

Хорошо, через два дня я наконец понял.Я думал, что поделюсь своими мыслями с людьми, которые позже натолкнутся на это.

Следуя PHP-коду на этом сайте и для перевода лат, lng пар в пиксельные координаты, я смог классифицироватьстрока отдельных пикселей по значению x и столбец по значению y пикселей.

Чтобы рассчитать уровень масштабирования, я определяю значения maxLat, maxLng, minLat и minLng, определенные набором маркеров.Затем я рассчитал границы карты при заданном уровне масштабирования.Наконец, я использовал метод грубой силы, чтобы проверить, будут ли новые границы карты, определенные уровнем масштабирования, включать границы, определенные максимальными, минимальными значениями lng и lng набора маркеров.Начиная с уровня масштабирования 21 (максимальное увеличение на картах Google), я уменьшаю уровень масштабирования до тех пор, пока не найду уровень масштабирования, включающий все маркеры.

Кажется, что уровень масштабирования, рассчитанный в этом методе, соответствует значению GoogleПредустановленный уровень масштабирования выбирается автоматически, если вы не предоставляете уровень масштабирования для статической карты.

В PHP есть хорошая библиотека для всего этого здесь .

...