OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#26 2009-02-16 14:52:56

Lena44
Member
Registered: 2009-02-13
Posts: 19

Re: Cтатические карты

iframe это конечно выход из положения. Я его применяю в классическом web интрефейсе, но для wap интерфейса в билиотеке нет возможности добавить iframe sad

Offline

#27 2009-02-16 17:00:16

Lena44
Member
Registered: 2009-02-13
Posts: 19

Re: Cтатические карты

Вроде нашла возможность через iframe...

dlon и dlat - хоть константами прописать

Все таки какие оптимальные значения вы бы поставили для этих констант?

Offline

#28 2009-02-16 17:12:39

vvoovv
Moderator
Registered: 2008-03-04
Posts: 2,256

Re: Cтатические карты

Лена, формала актуальна еще?

Алгоритм такой:
1) Перевести координаты в меркаторовские (Google и OSM используют меркаторовскую проекцию)
2) Зная scale и меркаторовские координаты центра области находим координаты границы области. Разрешение (число меркаторовских координат на пиксел) находится по scale. А размер области в пикселях пропорционален размеру области в меркаторовских координатах
3) Пересчитываем меркаторовские координаты области обратно в обычные.

функции пересчета в меркатор и обратно на языке Javascript:

    lonlatToMercator: function(lon, lat) {
        var x = lon * 20037508.34 / 180;
        var y = Math.log(Math.tan((90 + lat) * Math.PI / 360)) / (Math.PI / 180);

        y = y * 20037508.34 / 180;
       
        return new OpenLayers.LonLat(x, y);
    }


    mercatorToLonLat: function(x, y) {

        var lon = (x / 20037508.34) * 180;
        var lat = (y / 20037508.34) * 180;

        lat = 180/Math.PI * (2 * Math.atan(Math.exp(lat * Math.PI / 180)) - Math.PI / 2);
       
        return new OpenLayers.LonLat(lon, lat);
    }

Разрешение рассычитывается по масштабу (тот самый параметр scale в ссылке, которую я приводил) так:
getResolutionFromScale = function (scale) {

    var normScale = (scale > 1.0) ? (1.0 / scale) : scale;

    var resolution = 1 / (normScale * 39.3701* 72);
    return resolution;
};

Last edited by vvoovv (2009-02-16 17:14:09)

Offline

#29 2009-02-16 18:49:22

Lena44
Member
Registered: 2009-02-13
Posts: 19

Re: Cтатические карты

Большое спасибо! Я использую эту информацию в своем следующем проекте.
Просто этот проект уже практически был готов, когда выяснилось, что страны CНГ плохо у Google реализованы. Поэтому я хотела сдыхаться от этого проекта не большой его переделкой, а погружаться в javascript и OpenLayers займет у меня много времени на изучение.:)

Я пока обошлась iframe-ом. Координаты формирую так как советовали:

double one = StrToFloat(IWEditWAP1->Text) - 0.02;//первый параметр для bbox
double two = StrToFloat(IWEditWAP2->Text) - 0.02;//второй параметр
double thr = StrToFloat(IWEditWAP1->Text) + 0.02;//третий параметр
double fro = StrToFloat(IWEditWAP2->Text) + 0.02;//четвертый

IWEditWAP1->Text и IWEditWAP2->Text координаты из базы данных типа 50.886, 30.4466
Затем все это засовываю в iframe:
<iframe height=400 width=400 src="http://www.openstreetmap.org/export/embed.html?bbox=30.4266,50.866,30.4666,50.906&layer=mapnik&marker=50.886,30.4466">

где вместо фиктивных цифр я подставляю программно свои цифры плюс цифры для маркера. Вроде получила то, что хотела.
Вижу карту нужного размера, масштаба и маркер.
Тестирую дальше.:)

Offline

#30 2009-02-16 19:21:05

vvoovv
Moderator
Registered: 2008-03-04
Posts: 2,256

Re: Cтатические карты

Лена, а в какой программе страница просматривается? Спрашиваю, потому что в Internet Explorer Mobile нельзя указать позицию HTML-элемента, поэтому там нельзя сложить карту из отдельных ее элементов.  В Internet Explorer Mobile есть и другие ограничения, из-за чего обычные OpenStreetMap и Google Maps не будут работать.

Offline

#31 2009-02-17 09:13:26

Lena44
Member
Registered: 2009-02-13
Posts: 19

Re: Cтатические карты

vvoovv wrote:

Лена, а в какой программе страница просматривается? Спрашиваю, потому что в Internet Explorer Mobile нельзя указать позицию HTML-элемента, поэтому там нельзя сложить карту из отдельных ее элементов.  В Internet Explorer Mobile есть и другие ограничения, из-за чего обычные OpenStreetMap и Google Maps не будут работать.

Вы оказались правы. При попытке посмотреть на мобильном телефоне страницу htm с тегом iframe, получила чистую страницу.:(
Придется изучать титлы. Для облегчения задачи согласна уже на стандартный размер 256х256 smile

Last edited by Lena44 (2009-02-17 09:25:54)

Offline

#32 2009-02-17 11:12:35

Lena44
Member
Registered: 2009-02-13
Posts: 19

Re: Cтатические карты

А как получить API Key?
Создала акаунт.
На странице Manage Your Account просят ввести:
To get started, please add the URL of the site which you would like to add maps to:

Ввожу: http://195.69.86.18
Жму регистрировать - ничего не происходит.

У google в этом случае на странице появлялся сгенерированный ключ...

P.S.
Заметила в самом верху странице Domain URL is invalid
Этот адрес мне выделил сис.админ и на нем крутится мое сетевое приложение и регистрация у google не имела проблем и карты google все работают и грузятся. Что не так?
sad

P.S.
Вообщем заказала у сис.админа буквенню Domain URL, обещал сделать...

Last edited by Lena44 (2009-02-17 13:50:13)

Offline

#33 2009-02-18 15:02:00

Lena44
Member
Registered: 2009-02-13
Posts: 19

Re: Cтатические карты

Для работы с титлами мне нужен этот код
n = 2 ^ zoom
lon_deg = xtile / n * 360.0 - 180.0
lat_rad = arctan(sinh( Pi * (1 - 2 * ytile / n)))
lat_deg = lat_rad * 180.0 / Pi
Отсюда: http://developers.cloudmade.com/project … examples/2

Подскажите, а какой должен быть zoom, чтобы картинку получить как здесь:
http://developers.cloudmade.com/project … /documents

Last edited by Lena44 (2009-02-18 16:31:39)

Offline

#34 2009-02-19 08:33:00

Upliner
Member
From: Kyiv
Registered: 2008-09-18
Posts: 844

Re: Cтатические карты

Кстати, в wiki нашёл ещё такую штуку:
http://osm-tah-cache.firefishy.com/~ojw … format=png
-- даёт сразу в нужном разрешении и масштабе... Вот только с маркером опять проблема...


Big cat is watching you

Offline

#35 2009-02-19 09:23:56

Lena44
Member
Registered: 2009-02-13
Posts: 19

Re: Cтатические карты

Upliner wrote:

Кстати, в wiki нашёл ещё такую штуку:
http://osm-tah-cache.firefishy.com/~ojw … format=png
-- даёт сразу в нужном разрешении и масштабе... Вот только с маркером опять проблема...

Ух, ты! СПАСИБО! Сейчас буду тестить.:)
С маркером проблем нет.
Я написала код, сначала картинка по ссылке принимаеттся и сохраняется на диск. Затем на нее в центр помещается маркер, который я сама нарисовала и потом уже это отбражается пользователю.
Тестировала в программе для мобильников WinWAP for Windows 4.1 вроде работает.

Получается при использовании firefishy.com и API ключ не нужен...
А насколь надежен этот сервис firefishy.com? Не закроют его завтра?:)

Offline

#36 2009-04-14 15:23:51

Lena44
Member
Registered: 2009-02-13
Posts: 19

Re: Cтатические карты

Upliner wrote:

Кстати, в wiki нашёл ещё такую штуку:
http://osm-tah-cache.firefishy.com/~ojw … format=png
-- даёт сразу в нужном разрешении и масштабе... Вот только с маркером опять проблема...

Ну вот проблема.:(
Ссылка нормально работала и я ее использовала, а вот уже второй день сервис не доступен.
Может кто знает другую ссылку, более надежную, на этот сервис?

Offline

#37 2009-04-14 16:20:58

wildMan
Member
From: Minsk
Registered: 2008-03-05
Posts: 509

Re: Cтатические карты

поднять на своём сервере
например http://wiki.openstreetmap.org/index.php/Mapnik


--
OSMF BY Team

Offline

Board footer

Powered by FluxBB