Черепица в Google Tile Server (параметр x, y и z) - PullRequest
1 голос
/ 10 июля 2010

Я работаю на Google Tile Server.Я написал одну службу WCF (C #), которая извлекает плитку с сервера Google по URL-адресу http: - http://mt1.google.com/vt/lyrs=m@129&hl=en&x=1&y=0&z=1&s=Galileo

Как вы знаете, для своей плитки Google требуется три переменных параметра x, y и z, чтобы обеспечитьtile.

Другие координаты можно увидеть здесь .

Я очень успешно извлекаю Google Tile (Map) по одному (значит, устанавливаем разные значения)x, y и z).

Теперь, переходя к реальному сценарию, я попытался разработать одно приложение WinForm (C #) для отображения этих плиток.Я могу отображать один-один тайл.Но моя проблема заключается в том, что ..

  1. Как обеспечить полный набор карт (разные плитки сшиты вместе)? Я знаю, что могу предоставить несколько звонков на Google Tile Server с разными параметрами, но мне нужно было знать, каково может быть соответствующее значение x, y & z в различных условиях и постоянное отношение к этому

  2. Существуют ли какие-либо вычисления, формулы или сопоставления, которые связывают экранную координату с координатами Tile Server Google (означает значения x, y и z)?

  3. Мне нужнообеспечить плавное масштабирование и панорамирование при перетаскивании и двойном щелчке .. так же, как в Google.

  4. Моя основная проблема заключается в соотношении между координатами x, y, z и моим экраном.1031 *

Любая помощь (или образцы) будут высоко оценены.

Ответы [ 3 ]

2 голосов
/ 17 июня 2012

Объяснение того, что вы хотите сделать, является сложным, и вам придется как-то это выяснить, потому что вещи просто не собираются автоматически (что в некотором смысле неудачно).

Несмотря на то, что я обнаружил, что следующая ссылка буквально решила мою проблему невежества, теперь я могу разобраться в этом гораздо проще:

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

Это объяснит (с некоторыми примерами формул), как вы можете получить желаемые преобразования.

1 голос
/ 07 октября 2014

Если вы хотите перейти от широты к координатам тайла, на странице тайла карты Bing появятся все необходимые уравнения.(при условии, что все используют начало источника и плитки размером 256x256).

http://msdn.microsoft.com/en-us/library/bb259689.aspx

, если вам нужно использовать плитки разных размеров, затем измените константы в уравнениях.

1 голос
/ 20 августа 2014

Вам необходимо использовать проекцию Меркатора, чтобы перейти от Широты / Долготы к координатам плитки Карт Google (увеличение, x, y).См. https://developers.google.com/maps/documentation/javascript/examples/map-coordinates для примера.Сначала вам нужно будет конвертировать из широты / долготы в «мировую точку», а оттуда, основываясь на уровне масштабирования, вы можете конвертировать в пиксель на всем изображении виртуальной карты, представляющем весь мир.Зная размер плитки (256 x 256), вы можете преобразовать пиксельные координаты в плитки.Обратитесь к этой логике, чтобы перейти от координат плитки к широте / долготе.

...