MULTISOUP

MULTISOUP

MULTISOUP

Staff Blog

Introduction example

2017.11.17

Adobe AIR 上で Googleマップのマーカーを描画できない不具合の解決方法

img

みなさん、こんにちは。

お客さまから、Adobe AIR 上で Google Maps JavaScript API v3.30 を利用するとマーカーやライン、ポリゴンが描画できないというお問い合わせがありました。

Adobe AIRに関する情報は少ないので、ここでみなさんに情報共有したいと思います。

ちなみに、JavaScriptのバージョンによってエラーになる場合とならない場合があるようです。。。

 

v3.28 → エラー
v3.29 → 成功
v3.30 → エラー

 

Google Maps JavaScript API は基本的に、3つのバージョンをサポートします。現在は、3.29 がリリースバージョンですが、11月21日に 3.30 がリリースバージョンに変更されます。

あと、数ヶ月は 3.29 を利用できますが、その後は利用できなくなります。

v3.30 のリリースについて

 

そもそも、Adobe AIR はサポート対象外なのですが、3.29 では動作しているということなので、念のため Google 社に問い合わせしてみました。

結論から言いますと、Adobe AIR の WebKit は古いらしく、「Function.prototype.bind」が実装されていないことが原因のようです。よって、以下の処理を組み込めば動作することが可能となりました!

if (!Function.prototype.bind) {
  Function.prototype.bind = function(oThis) {
    if (typeof this !== 'function') {
      // closest thing possible to the ECMAScript 5
      // internal IsCallable function
      throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');
    }

    var aArgs   = Array.prototype.slice.call(arguments, 1),
        fToBind = this,
        fNOP    = function() {},
        fBound  = function() {
          return fToBind.apply(this instanceof fNOP
                 ? this
                 : oThis,
                 aArgs.concat(Array.prototype.slice.call(arguments)));
        };

    if (this.prototype) {
      // Function.prototype doesn't have a prototype property
      fNOP.prototype = this.prototype; 
    }
    fBound.prototype = new fNOP();

    return fBound;
  };
}

 

 

追伸

今回のお客さまは、プレミアムプランをご購入いただいているので、このようなサポートを Google から受けることができました。

プレミアムプランでは、スタンダードプランには無い、24時間の技術サポートや、SLA 99.9%、広告の表示制御などもあります。詳しくは、以下のページをご参照ください。

Google Maps APIs プレミアムプランについて

 

Google に問い合わせするときは、プレミアムプランユーザ向けの専用のサポートポータルサイトがあり、そこから「CASE」という形で、問い合わせを開始します。24時間対応の受付体制を備え、基本的いつでも、世界中の誰か(グーグルスタッフ)が対応してくれます。朝でも夜中でも、誰かしら返答してくれるのでスピード感がありますし、自分が思っていた以上に手厚くサポートしてくれる印象です。

 

是非、この機会にプレミアムプランのご導入を検討してみてください!!

お願いいたします m(_ _)m

 

 

【関連記事】こんな記事も読まれています

2017.02.08

JavaScript API のリリースバージョンが「3.27」に更新されます

みなさん、こんにちは。

2017年2月14日に Google Maps JavaScript API のリリースバージョンが 「3.27」 に・・・

続きを読む

2016.02.29

Google Maps JavaScript API v3は、IE9のサポートを・・・

こんにちは、みなさん。

IE9をお使いいただいている方へ特に重要なお知らせです。

 

2016年・・・

続きを読む

 - Google Maps Roads API, サポート, スタッフ日記

お問い合わせお見積もりから開発のご相談まで、お気軽にお問い合わせください。

(※)は入力必須項目です。

当社では、お客様がお問い合わせの際に必要な個人情報または、 お問い合わせ内容等につきましては、
お問い合わせの回答の目的のみに利用します。

Google Maps for Work™に関するご質問やお見積りは、
マルティスープまでお気軽にお問い合わせください03-3518-9013 (受付時間:平日 9:00−18:00)