Клуб API Карт

вопрос по поводу CartesianCoordSystem

uo-x
30 января 2014, 16:19

доброго времени суток.

я не веб программист, с вебом редко поэтому не кидайтесь плз)

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

- посмотрел пример http://api.yandex.ru/maps/doc/jsapi/1.x/examples/custom-cs-photos.html

сделал тоже самое, установка точки по пикселам работает http://olduo.com/map/map/mountain2.html

new YMaps.Placemark(new YMaps.Point(2048, 2048)


- воспользовался программой от яндекса для нарезки картинок http://api.yandex.ru/maps/doc/jsapi/1.x/dg/concepts/ymapstiler.xml и в ней же создал html код

результат http://olduo.com/map/map/map2.html 

тоже использую декартову систему координат 

map = new YMaps.Map(document.getElementById("YMapsID"),{coordSystem: myCoordSystem})

но точки ставятся не по тайлам. помогите прошу, сижу дебажу, читаю, пробую, это уже сниться начинает =( что не так я сделал

4 комментария
Подписаться на комментарии к посту

Вы ставите точку в координаты (1, 1), центр карты у вас тоже в (1, 1). Точка получается спозиционировалась верно, а вот тайлы у вас под декартову систему не подстроились.

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

при изменении центра карт ничего не меняется, в обоих случаях. полагаю тут это не причем

Я так и написала - точка позиционируется верно, у вас неверно позиционируется подложка для карты.

Вся ваша карта должна быть разбита на квадраты. 

На нулевом масштабе карта состоит из одного тайла, его номер 0,0

На первом масштабе карта состоит из четырех тайлов

и так далее

 

То есть для масштаба 1, к примеру, ваша картинка должна быть разрезана на 4 части. Причем разрезы должны проходить посередине картинки.

 

Вы на карте используете 12й масштаб. Это означает, что у вас должно быть 2 в двенадцатой степени тайлов.

Тайлов у вас там явно меньше. Попробуйте для начала уменьшить масштаб карты (нужно будет поправить названия папок с тайлами соответственно).

 

Потом поставьте на карту 2 точки. Одну в 0,0, вторую в 4096,6144. Эти две точки покажут вам реальные границы карты.

 

А потом похимичьте с тайлами так, чтобы они легли в пределы этих границ карты.