Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2015, 12:05   #11
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

для прямых улиц, все отлично (1 скрин)
а вот при изгибах (2 скрин)
Изображения
Тип файла: jpg Screenshot_2015-07-09-15-01-25.jpg (28.7 Кб, 148 просмотров)
Тип файла: jpg цйуйцу.jpg (32.7 Кб, 106 просмотров)

Последний раз редактировалось ZuBy; 09.07.2015 в 12:07.
ZuBy вне форума Ответить с цитированием
Старый 09.07.2015, 13:48   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ни чего там такого нет в примере из #1, просто в другм виде записана начальная и конечная точка. По вложению не смотрел
Код:
function Convert(d: Double): String;
var v: Cardinal;
    b: Byte;
begin
  v:=Round(d*100000) shl 1;
  if d<0 then v:=not v;
  Result:='';
  repeat
    b:=v and $1f;
    v:=v shr 5;
    if v<>0 then b:=b or $20;
    Result:=Result+Chr(b+63);
  until v=0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit2.Text:=Convert(51.1460288)+
              Convert(71.4707722)+
              Convert(51.1463826-51.1460288)+
              Convert(71.4721348-71.4707722);  //umdwHicfsLeAoG
end;
ADD

Набросал еще обратную функу. Попробуй

Код:
function UnConvert(Text: String): String;
var i,k: Integer;
    Last: Boolean;
    c,b: Cardinal;
    Negativ: Boolean;
begin
  c:=0; k:=0; Result:='';
  for i:=1 to Length(Text) do begin
    b:=Ord(Text[i])-63;
    Last:=b<$20;
    b:=b and $1f;
    c:=c or (b shl k);
    if Last then begin
      Negativ:=c and 1 <> 0;
      c:=c shr 1;
      if Negativ then c:=not c;
      Result:=Result+FloatToStrF(Integer(c)/100000,ffFixed,12,5)+' ';
      c:=0; k:=0;
    end
    else Inc(k,5);
  end;
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 09.07.2015 в 14:29.
Аватар вне форума Ответить с цитированием
Старый 09.07.2015, 14:40   #13
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Аватар это супер просто, но немного неправильно

Цитата:
{odwHykfsLEWkO~JwAz@wDdCaF`D_DlBaEb CYTUNe@XkAb@UBI@{@K}AMg@EwAI}ADmALm A\u@X}@b@e@Zg@b@[V_@`@
в Вашем варианте расшифровывает только первую пару, остальные значения не верны.

и еще в коде конверт, знак минут не обрабатывается, т.е. енкодер гугл выдает другой результат
сорри тут все верно

Последний раз редактировалось ZuBy; 09.07.2015 в 14:44.
ZuBy вне форума Ответить с цитированием
Старый 09.07.2015, 14:47   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
немного неправильно
Возможно, только не вижу где. ps прога для Д7
Код:
Edit2.Text:=Convert(-179.9832104);    //`~oia@
Edit1.Text:=UnConvert('`~oia@');  //-179.98321
ADD

Остальные значения по идее смещения относительно начальных координат

Цитата:
51,14638 71,47213 0,00003 0,00012 0,00262 -0,00192 0,00044 -0,00030 0,00092 -0,00067 0,00113 -0,00081 0,00080 -0,00055 0,00097 -0,02066 0,00013 -0,00011 0,00011 -0,00008 0,00019 -0,00013 0,00038 -0,00018 0,00011 -0,00002 0,00005 -0,00001 0,00030 0,00006 0,00047 0,00007 0,00020 0,00003 0,00044 0,00005 0,00047 -0,00003 0,00039 -0,00007 0,01047 -0,00015 0,00027 -0,00013 0,00031 -0,00018 0,00019 -0,00014 0,00020 -0,00018 0,00014 -0,00012 0,00016 -0,00017
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 09.07.2015 в 14:50.
Аватар вне форума Ответить с цитированием
Старый 09.07.2015, 14:49   #15
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

дело в том, что в строке который отдает гугл хранится еще данные по level'у
возможно это не учитывается

Encoding Levels
ZuBy вне форума Ответить с цитированием
Старый 09.07.2015, 14:59   #16
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А попробуй к начальной паре 51,14638 71,47213 прибавить все смещения. Получится ли конечная пара 51.1581917 71.4658522
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.07.2015, 15:08   #17
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

все супер вроде, буду дальше тестировать.
если будут косяки отпишусь!

Спасибо!

хотел оставить отзыв, но вы последний кому я его оставлял...
ZuBy вне форума Ответить с цитированием
Старый 10.07.2015, 17:12   #18
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А попробуй к начальной паре 51,14638 71,47213 прибавить все смещения. Получится ли конечная пара 51.1581917 71.4658522
Вот так получается...
если раскодировать строку вашим кодом и к первым координатам добавить смещения
нач.точка+смещение=новая.точка
новая.точка+следующее.смещение=нова я точка
и тд...
получается абракадабра, маршрут неправильный. много помех
так и не смог решить как сделать правильно
ZuBy вне форума Ответить с цитированием
Старый 10.07.2015, 18:41   #19
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

По прилагаемому файлу по всем данным полная сходимость от начальной к конечной по приращениям с учетом округления до 5 знаков. Не туда где-то заабракадабрил?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.07.2015, 18:44   #20
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Проверял на калькулятор все сходится, но на деле бардак
ZuBy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Google maps Samir_ Помощь студентам 10 13.03.2012 21:22
ya maps/google maps djetx Работа с сетью в Delphi 1 10.04.2011 21:19
Компонент для работы с Google Maps Дамир Общие вопросы .NET 4 23.12.2010 08:30
кеш google maps bazanin Работа с сетью в Delphi 3 17.03.2010 17:27
Помогите написать скрипт для Google Maps Mineralog JavaScript, Ajax 0 12.09.2009 20:11