2011-07-11 14 views
0

私は混乱しています。私は少しのクロム拡張(ポップアップ)を作ろうとしています。私は遠隔のAPIに接続する必要があります。 これは、標準のWebページであれば、私が使用するものを、次のとおりです。Google Chrome拡張機能にリモートライブラリ(API 4.5 Mapy.cz)を組み込む

<script type="text/javascript" src="http://api4.mapy.cz/loader.js"></script> 
<script type="text/javascript">Loader.load();</script> 

私はスクリプトに頭(私の作品ではない)新たな要素を含めて実験を行いました。しかし、私は信じられない、簡単な方法はありません...

私に最善の方法を教えてください。


EDIT:

APIローダーのリンクは罰金と作品です。 @sergに感謝します。だから、私のコードは次のようになります:

<script type="text/javascript" src="http://api4.mapy.cz/loader.js"></script> 
<script type="text/javascript"> 
    Loader.load(); 
    var center = SMap.Coords.fromWGS84(16.61574, 49.20315); 
</script> 

Object Loaderが定義されていて、問題ありません。 Loaderは、オブジェクトSMapのいずれかのAPI全体をロードする必要があります。しかし、SMapは未定義です。次は何?

答えて

0

は最後に、私はMapy.czから、開発者に尋ねると、彼らは解決策を与えました。代わりに、追加のスクリプトおよび非同期ロードなどの原因となるLoader.load()を使用しての - この方法を使用します。

Loader.async = true; 
Loader.load(null, null, function(){ 
    alert(123); // it works... 
    // custom code calling objects etc. from API 
    // ... 
}); 

Final Example of usage

1

あなたはこのリモートAPIへのAJAXリクエストを作成する必要がある場合は、マニフェストの権限でAPIのドメインを一覧表示する必要があります。

{ 
    "permissions": [ 
    "http://api4.mapy.cz/" 
    ], 
} 
+0

を私は、ライブラリからのメソッドを使用するために私の内線にこのJavaScriptのスクリプトを含める必要があります。 maps.google.comのようなマップのAPIです。 –

+1

@Jaroslavポップアップコンソールを開き、エラーがないか確認します(ポップアップアイコンを右クリックして検査を選択します)。 – serg

+0

「ローダーが定義されていません」という当然のエラーがあります。しかし、有線があります。私はコンソールからAPIを使って作業をしようとすると動作します! (もし私が

関連する問題