「google map api」をマルチプロセス「Web Workers」のWorker(バックグラウンド)側で、使いたい

159 views
Skip to first unread message

kengo

unread,
Jan 20, 2014, 2:38:30 AM1/20/14
to google-map...@googlegroups.com


「javascript」+「html5」+「google map api v3」で開発しております。

「Web Workers」を使用し、並列処理を実装しようと考えています。
Worker(バックグラウンド)側で、「google map api v3」の関数を使用したいのですが方法が分かりません。

index.htmlにて
<script src="https://maps.googleapis.com/maps/api/js?v=3&sensor=false&libraries=..."></script>
を読み込んでおり、メイン(フロント?)側ではもちろん利用できますが、バックグラウンド側は別世界であるためindex.htmlで読み込んでも、未定義と解釈されてしまいます。

メイン側で、
var svs= new google.maps.StreetViewService;
を定義し、Worker側に引数に渡せて、いける!と思いましたが
svs.getPanoramaByLocation
は定義されていないとエラーとなってしまいます。

Worker側で「importscript」でjavascriptファイルを読み込むことができるので、
"https://maps.googleapis.com/maps/api/js?v=3&sensor=false&libraries=..."
が、読み込めれば良いのですが、これはjavascriptファイルではないようで、エラーとなりました。
やり方がおかしいのでしょうか?

そもそも、できないことを行っているのかも知れませんので、実現できる筈なのかどうかだけでもご教授頂けると助かります。

Masashi.K

unread,
Jan 20, 2014, 3:08:17 AM1/20/14
to google-map...@googlegroups.com

Background側で具体的に何の処理をしたいのでしょうか

--
このメールは Google グループのグループ「Google-Maps-API-Japan」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、google-maps-api-...@googlegroups.com にメールを送信します。
このグループに投稿するには、google-map...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/google-maps-api-japan からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。

kengo

unread,
Jan 20, 2014, 5:57:31 AM1/20/14
to google-map...@googlegroups.com

具体的に申しますと、
http://hyperlapse.tllabs.io
の仕組みを分析していた時に、「Panorama情報の取得(ロード)」と「アニメーション表示」を
並列にやれば、待ち時間を少なくできるのでは?と思いWebWorkersの勉強も兼ねてやって
みようと思ったのが切っ掛けです。

Masashi.K

unread,
Jan 20, 2014, 12:40:50 PM1/20/14
to Google-Maps-API-Japan
なるほど、素晴らしいサービスですね。

でも親ページとWeb Workerは文字列 or JSONしか渡せないので無理だと思いますよ。



2014/1/20 kengo <take...@gmail.com>

--

kengo

unread,
Jan 20, 2014, 7:58:37 PM1/20/14
to google-map...@googlegroups.com
JSONが可能なので

var Data = {
    pano:pano[],
    latlng:latlng[]
}; 

のようにして渡せることは確認しています。
今知りたいことはGoogle APIの呼び出し方法なのですが、こちらもできないのでしょうか。

Masashi.K

unread,
Jan 20, 2014, 8:01:57 PM1/20/14
to Google-Maps-API-Japan
WebWorker内ではDOM操作を行うスクリプトは読み込めないので
Google Maps APIのライブラリは読み込めないと思います。


2014/1/20 kengo <take...@gmail.com>

--

kengo

unread,
Jan 20, 2014, 8:34:12 PM1/20/14
to google-map...@googlegroups.com
これで確信得ることができました。
 お付き合い頂きまして誠にありがとうございました。

早急なレスポンスにも感謝いたします。
Reply all
Reply to author
Forward
0 new messages