1

私は現在、Google マップ API、PHP、および MySQL を使用してカスタム マップ バブルとマーカーをマップに設定する Web アプリを使用しています。

現在、アプリは私たちがホストし、私たちが管理しており、クライアント ページに iframe として含まれていますが、これは非常に面倒です..

ページに含めることができる API/ライブラリを開発し、コードを div コンテナーに挿入したいと考えています (Google マップのように)。しかし、何を検索すればよいのか、何を読んで学習すればよいのかわかりません。

json/jsonp 形式の読み取り専用機能を許可されたクライアントに提供するように構成された基本的な REST API があります。Phil Sturgeon の CI 用 REST-SERVER ライブラリを使用しています。

これが現在のフォーマットへのリンクです。スクロールバーのない iframe でこのページを取得します。 http://fhaz.mapitusa.com

更新: 部分的な解決策を見つけました.. Web ウィジェット: http://alexmarandon.com/articles/web_widget_jquery/

Web ウィジェットを開発する必要があります。

私は知る必要がある:

  1. 何を学ぶか
  2. 知っておくべきプログラミング方法論の種類
  3. 例の検索対象
  4. iframe から離れて、一種の「ハード埋め込み」を使用するためのいくつかのオプションは何ですか。
4

1 に答える 1

1

あなたはそれを大声で言いませんでしたが、あなたは今あなたが読み取り専用のAPIを持っていると具体的に言っているので、あなたは(あなたの)サーバーにもコマンドを送りたいと思っています。まず、認証方法を検討します。そして、このために、私はOAuthに行きます。クライアントをサーバーに接続して認証できる基本的なクライアントクラスを作成する必要があります。これは非常に単純で小さい場合があります。PHPには、非常に使いやすいpecl拡張機能(http://nl.php.net/manual/en/book.oauth.phpを参照)もあります。pecl拡張機能をインストールする可能性がない場合は、curlでもうまくいきますが、それでも実際には必要ありません。Twitterには、外部リソースへのリンクとともに、OAuthがどのように機能するかについての優れた説明もあります。見てみな!https://dev.twitter.com/docs/auth/oauth

サーバーレベルでは、独自のロールシステムを実装する必要があることに注意してください。oauthでは、クライアントは安全な方法でのみサーバーに接続できます。つまり。これにより、「ユーザー」はアプリケーションにログインできますが、ログインしたユーザーが、たとえば、すべての権限を持つ管理者ユーザーであるか、読み取り専用ユーザーであるか、または途中であるかどうかは確認されません。

OAuthをまっすぐにした場合は、実装するAPI呼び出しのリストを作成するだけです。たとえば、次のように名前空間を設定する必要があります。

/map/marker/get
/map/marker/set
/map/bubble/get
...

クライアントAPIは、次のような呼び出しを行うことができるはずです。

$api = new MyGreatApi();
$params = array('id' => 3, 'color' => 'red', ...);
$response = $api->call('/map/marker/get', $params);
echo $response;

Twitterがプロモートするもの(https://dev.twitter.com/docs/twitter-libraries#php)のようないくつかのoauthライブラリの実装をチェックしてください。たとえば、実行時に非常に単純な1ビットが使用されます(http://developer。 longtailvideo.com/botr/downloads/php-api-kit.zip)

サーバーレベルでは、API呼び出しをキャッチし、要求を特定のコントローラーにルーティングします(いくつかのMVC用語を使用するため)。たとえば、呼び出し'/ map / marker / get'をフェッチしexplode('/', $call);て、適切なクラス/関数/メソッド/何でも検索し、魔法をかけさせてから、出力を送り返すことができます(次のようになります)。 )のように簡単でecho $output、あなたは稼働しています!認証とロールチェックの権限がある場合、出力を生成する関数は、通常のoldschoolのphp関数として扱うことができることに注意してください。彼らには特別なことは何もありません!主な関心事となるのは、API呼び出しの認証とルーティングです。

これがあなたの質問のいくつかを明らかにし、あなたに方向性を与えることを願っています。私があなたの質問を誤解した場合は、私を訂正してください!

于 2012-04-17T14:01:04.280 に答える