Служба геокодирования Google возвращает ошибку 400, неверный запрос

Я пытался получить ответ json от службы геокодирования Google. Я использую PHP. Я пытался с помощью fopen, затем я прочитал в другом вопросе stackoverflow, что я должен использовать file_get_contents, но тоже не сработало. Затем я продолжаю поиск и нашел кого-то на другом форуме, который сказал, что для меня было бы лучшее решение, если бы я использовал CURL, поэтому я изменил свой код и не работает. Во всех случаях я получал ошибку 400: неверный запрос. btnTryDlgClick вызовет dlgOpen1.Execute , и отображаемое диалоговое окно будет таким, как ожидалось. Однако, когда я вызываю TForm11.Create (Self) .ShowModal внутри TForm10.btnTryFormClick , форма скрывается за TForm10. Мне интересно, как понять это поведение и почему стандартный TOpenDialog может отображаться так, как ожидалось? Приветствуются любые комментарии!

PS: Одним из способов решения проблемы является переопределение процедуры CreateParams для TForm11 и установка Params.wndParent на 0. Но мне кажется, что с помощью этого обходного пути иерархия окон будет нарушена.

  procedure TForm11.CreateParams(var Params: TCreateParams); // override;
  begin
    inherited;
    params.wndParent := 0;
  end;

PS: Другой обходной путь упоминается Реми на соответствующих страницах SO: установка свойства PopupParent модальной формы в значение StayOnTop Form . Но в последующих комментариях Сертак упомянул, что этот обходной путь также нарушит иерархию окон.

PS: } И я ...

У меня есть этот объект javascript

var options:
 {
        windowTitle         : '....',
        windowContentUrl    : '....',
        windowHeight        : 380,
        windowWidth         : 480
}

И у меня есть этот класс C #

public class JsonDialogViewModel
    {
        public string WindowTitle               {   get;    set;    }
        public string WindowContentUrl          {   get;    set;    }
        public double WindowHeight              {   get;    set;    }
        public double WindowWidth               {   get;    set;    }

    }

И вы видите, моя нотация - PascalCase в C #, а мой Javascript - CamelCase. Это обычное соглашение.

Я использую JavaScriptSerializer (). Serialize для сериализации моего объекта C # и использования его в моем коде Javascript.

Однако я столкнулся с этой проблемой PascalCase to CamelCase, что JavaScriptSerializer () .Serialize не обрабатывает.

Что вы предлагаете, чтобы обойти этот перевод?

Спасибо

11
задан marbel82 18 October 2016 в 14:19
поделиться