2012-07-03 2 views
3

Я хочу, чтобы преобразовать (Google источников) долготы и широты координаты х и у расставить точки на карте в SVGзарисовки широты на к (проекция Меркатора) SVG карта

я могу получить долгота преобразуется в X, но я не могу гвоздь широты.

http://jsfiddle.net/chrisloughnane/an3BZ/17/

  • красные держатели точек = место
  • зеленая точка = расчетное положение от долготы/широты

Я прочитал столько о Mercator проекций и других проекционных систем API, я сейчас полностью смущен. Я также следил за потоками библиотеки Proj4JS, но не смог найти пример, который был близок к моей задаче.

Я попытался подражать этому solution, к сожалению, у меня что-то не так.

Может кто-нибудь, пожалуйста, взгляните на мой jsfiddle и посмотрите, является ли это очевидной ошибкой.

Второй тест функция secondconvert (широта, долгота) (в нижней части панели JavaScript) дает мне достаточно точное координаты х то есть, если я вручную ввести координатуb.ylat изменение 265 охватывает мое левое красная точка место держатель почти идеально.

Я думаю, что я близок, любая помощь будет действительно оценена.

tia.


Оригинал SVG от here.

ответ

4

В ваших расчетах lattest и mapOffsetY внутри secondconvert() вы используете переменную width, где решение Рафаэль использует worldMapWidth. Исправлено, что вы приближаетесь к ожидаемому результату, хотя и не точно.

+0

Вы ** Сэр - звезда! ** Это беспокоило меня в течение недели. После исправления моей ошибки, а затем настройки южной широты, результаты достаточно точны для целей этого проекта. Большое вам спасибо за помощь: P http://jsfiddle.net/chrisloughnane/an3BZ/40/ –

+0

исправлено jsfiddle для будущих читателей http://jsfiddle.net/chrisloughnane/an3BZ/96/ –