Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Перевести широту/долготу в пиксели на картинке. (https://javascript.ru/forum/dom-window/8842-perevesti-shirotu-dolgotu-v-pikseli-na-kartinke.html)

Jurasmi 16.04.2010 12:51

Перевести широту/долготу в пиксели на картинке.
 
Есть карта Москвы (взята из google maps и немного приукрашена), она висит на сайте в виде фона у div-а.



Ещё есть координаты точек-объектов (взяты из google maps).

Задача: отобразить эти точки-объекты на картинке "карта-Москвы".
По сути: как перевести гугло-координаты в пиксели на картинке.

На масштабах города сделать это довольно просто (надо знать координаты одного угла картинки в гугле и знать "цену" одно пикселя, т.е. при перемещении на один пиксель на сколько мы перемещаемся в координатах, делать это надо отдельно по ОХ и OY).
В пределах одного города "не заметно", что на самом деле "цена" пикселя не постоянна, но в масштабах страны - это заметно и такой подход "простенький" использовать нельзя.

Как можно расставить "точки" в больших масштабах?

Skipp 16.04.2010 13:04

делай див размером, допустим 3х3(пиксель).
И позиционируй его на карте, туда куда надо.
Если хочешь высчитать широту и долготу, с начало узнай координаты самых самых точек(самую левую, самую правую...верх, низ) и высчитывай исходя из размера картинки на экране.

Jurasmi 16.04.2010 13:39

Я и спрашиваю как это сделать.

Skipp 16.04.2010 13:41

гугли и ищи какие координаты левого, верхнего, нижнего и правого края твоей карты. И пиши сюда.

Jurasmi 16.04.2010 14:32

Да, мы знаем координаты углов картинки ("карта Москвы") на гугло-карте.
Но теперь всё только начинается. Меня интересует преобразование реальных долготы/широты в пиксели на картинке "карты москвы".
Там "сильно-нелинейные" преобразования.

Skipp 16.04.2010 14:46

Цитата:

Сообщение от Jurasmi (Сообщение 51841)
Меня интересует преобразование реальных долготы/широты в пиксели на картинке

Что значит реальных?

Высчитай разницу между углами и подели на пиксели занимаемые картинкой.

Jurasmi 16.04.2010 14:48

Дело в том, что реальные широта/долгота распределяются не линейно на проекции google maps.

Leax 16.04.2010 14:51

Jurasmi,
советую искать на геодезических форумах:
преобразование систем координат WGS84 (широта, долгота) в СК42 (X, Y)

Тут еще глянь. Вроде формулы есть.
И учти, что в геодезии ось X направлена на север, а Y - на восток

Jurasmi 16.04.2010 15:08

Спасибо, пошел учить.
Вопрос открыт.

Jurasmi 16.04.2010 15:42

Цитата:

советую искать на геодезических форумах:
преобразование систем координат (широта, долгота) в СК42 (X, Y)
Я не уверен, что google maps использует проекцию WGS84.
Они используют "Mercator projection".


Часовой пояс GMT +3, время: 19:14.