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

 

 

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

2016.08.13

Google Maps JavaScript API v3.25 リリース情報

みなさん、こんにちは!

 

Google Maps JavaScript API v3.25 が8月15日にリリ・・・

続きを読む

2016.07.11

Google Maps JavaScript API v3.24で追加された機能

こんにちは!

5月よりGoogle Maps Javascript API のリリ・・・

続きを読む

2017.07.29

Geocoding API で取得できる住所タイプの仕様が変わります

みなさん、こんにちは。

2017年9月2018年1月以降に Google Maps Geocoding API の仕様が・・・

続きを読む

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

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

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

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

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