2014-10-17 3 views
0

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

Прежде чем я сгенерировал изображение, я сначала вычислил ширину, высоту изображения, перейдя из широты и долготы в местоположение пикселя для определенного увеличения (пример 19) с помощью SphericalMercator. как показано в примере Google https://developers.google.com/maps/documentation/javascript/examples/map-coordinates

Для примера:

Left Corner Lat,Lng = 23.635069377090115 ,58.09107364729487 
Pixel projection using SphericalMercator for zoom 19 , x= 88766786 , y=58035976 

bottom, right Lat,Lng = 23.598520856653636, 58.14957298218598 
Pixel projection using SphericalMercator for zoom 19 , x= 88788596 , y=58050848 

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

, например:

x2-x1= 21810 
y2-y1= 14872 

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

Чем я вырезал изображение на плитку с помощью imageMagic:

convert -crop 256x256 test4.png tile%d.png 

и чем я показываю эти плитки.

Плитка отображается, но она плохо выровнена. Я что-то пропустил?

ответ

1

Если вы заинтересованы, чтобы понять математику за плитками Сферическая Меркатора и вырезать изображения самостоятельно проверить на мешап и исходный код, который я подготовленный вниз на странице:

http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/

Он доступен также в других языки программирования (PHP, C# и т. д.), переписанные другими людьми.

Если вы просто хотите решить задачу - и имеете идеально подходящее наложение, оптимизированный размер плиток, образец просмотра не только для API Карт Google, но и многое другое просто загрузите MapTiler с http://www.maptiler.com/.

Для изображений с отсутствующим геопривязку, вы либо предоставить Ограничительная окно (координаты север, юг, восток, запад) или вы можете определить функции на карте визуально, как показано в этом видео-учебник: http://youtu.be/eJxdCe9CNYg

enter image description here

Смежные вопросы