avva: (Default)
[personal profile] avva
Google Maps - замечательная штука, с технологической точки зрения.

Но почему-то они решили её продемонстрировать на примере одной вымышленной страны и её вымышленных городов и улиц. Это впечатляет, но полезным это назвать трудно.

В прошлом Гугль всегда отличался особым вниманием к языкам, странам, частям мира. В отличие от множества других вебсайтов и веб-сервисов, в Гугле в этом смысле делали всё очень правильно и похвально. Надеюсь, что и эта новая услуга вскорости перестанет выбиваться из общего ряда возможностей, которые Гугль предоставляет всему миру.

P.S. Вопрос веб-программистам: как сделана технологически эта карта, которую можно двигать? Мне лень разбираться, а кому-то наверняка не лень ;), расскажите.

Date: 2005-02-08 04:29 pm (UTC)
From: [identity profile] meshko.livejournal.com
В каком смысле как сделана? Я думаю, деже без этого хитрого протокола общения с сервером, на котором написан Google Suggest. Просто DHTML, JavaScript. Там же есть полная event model, перехватывают события мышки, подгружают квадратики с сервера. Просто сделано очень аккуратно и без срезания углов. Насколько мне видно, всё сделано в одном файле 80Кб заборитого ЯваСкрипта. Они убирают пробелы из кода зачем-то, поэтому читать невозможно, а indent на нём упал, так что на этом исследование пока закончилось.

Date: 2005-02-08 04:33 pm (UTC)
From: [identity profile] avva.livejournal.com
Не знал, что DHTML поддерживает такой panning (ведь не перерисовывают же они в джаваскрипте). Правда, я всё равно DHTML почти не знаю. В общем, очень impressive.

Date: 2005-02-08 04:38 pm (UTC)
From: [identity profile] meshko.livejournal.com
Я про это всё знаю только на уровне посмотреть через плечо и помочь разобраться почему что-то не работает, но достаточно, чтобы сказать, что это ОЧЕНЬ круто. При том, что технологически всё уже давно было готово к этому, просто никто толком не пользовался.
Panning: там есть такие
'ы, у которых может быть viewable area меньше, чем visible area, а позицию любого элемента можно менять динамически. Они просто двигают квадратные картинки внутри этого div'а. (я не читал код, это догадки), когда нужно одни картинки убирают и вместо них вставляют другие.

Date: 2005-02-08 04:39 pm (UTC)
From: [identity profile] meshko.livejournal.com
тьфу "там есть такие <div>'ы, у которых..."

Date: 2005-02-08 06:18 pm (UTC)
From: [identity profile] kobak.livejournal.com
А что это за "хитрый протокол общения с сервером, на котором написан Google Suggest"? Заинтриговали.

Date: 2005-02-08 06:42 pm (UTC)
From: [identity profile] meshko.livejournal.com
Вот это действительно потрясающе:
http://www.google.com/webhp?complete=1&hl=en
Это сделано каким-то хитрым протоколом, позволяющим клиентскому ЯваСкрипту посылать дополнительные запросы к серверу и получать на них ответы.

Вот нечто похожее опенсорсное:
http://oss.metaparadigm.com/jsonrpc/

Вообще в maps оно тоже, наверное, используется, но можно и без него, думаю, обойтись.

Date: 2005-02-08 07:17 pm (UTC)
From: [identity profile] kobak.livejournal.com
Ого. Что же это за протокол такой, действительно?.. Стандартная возможность dhtml? Видимо, да, раз firefox поддерживает. Но я никогда о такой не слышал.

Date: 2005-02-08 07:26 pm (UTC)
From: [identity profile] meshko.livejournal.com
http://www.google.com/ac.js
function jb()
{var A=null;try{A=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{A=new ActiveXObject("Microsoft.XMLHTTP")}catch(oc){A=null}}if(!A&&typeof XMLHttpRequest!="undefined"){A=new XMLHttpRequest()}
return A
}
...
k=jb();
if(k)
{
k.open("GET",sa+"&js=true&qu="+Rb,true);
k.onreadystatechange=function(){if(k.readyState==4&&k.responseText)
...


Date: 2005-02-08 07:29 pm (UTC)
From: [identity profile] meshko.livejournal.com
Ключевое слово -- "XMLHttpRequest". И я был не прав -- карты его таки используют.

Date: 2005-02-08 10:41 pm (UTC)
From: (Anonymous)
Вот здесь (http://faheynj.gotdns.com/DomsBlog/archive/2004/12/18/207.aspx) собраны ссылки на то как работает Google Suggest.
Илья

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 10:57 am
Powered by Dreamwidth Studios