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

 

 

地図や位置情報を用いたシステムのご提案・開発ならマルティスープへ

マルティスープは、創業以来のGISとモバイル開発の実績と技術力で、営業支援システムやリサーチ・公共インフラ・工事・警備業界の現場を支援するシステム開発など、地図や位置情報を使った業務システムの導入のご提案や開発をいたします。

現場をつなぐコミュニケーションが屋内外業務のパフォーマンスを最大限に。マルティスープのiField(アイ・フィールド)®シリーズは、屋内外業務の現場の実力を減少させるコミュニケーション障壁を除き、使い慣れたスマートデバイスを使って 現場の実力をリアルに伝えるサービス。

位置・空間情報のエキスパート集団として一緒に働きませんか?

マルティスープは地図情報をはじめとする位置・空間情報技術のエキスパート集団です。当社で日々研究している地図や位置情報といった技術は、災害支援など貢献度の高いシステムとして使用されることもあれば、スマートフォンアプリのゲームとして使われることもあり、その利用用途・価値は、今後もますます広がっていっています。
私たちの企業理念は、「創る喜び、使う喜び」です。
今後の開発体制をより強化するために、新卒・中途問わず、当社の未来を共に創っていただける新メンバーを募集します!

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

2019.01.25

Maps JavaScript API のリリースバージョンが 3.35 に更新・・・

みなさん、こんにちは。

2019年2月12日頃、Maps JavaScript API のリリースバージョンが 3.34 から 3.35 に更・・・

続きを読む

2016.06.27

Geocording APIの微妙な仕様変更?

昨日、お客さまから緯度経度から逆ジオコードした結果の住所がおかしいという連絡をもらいました。

 

「市区町村名ま・・・

続きを読む

2018.05.10

Google Maps JavaScript API のリリースバージョンが 3・・・

みんさん、こんにちは!

Google Maps JavaScript API のアップデート情報です。

2018年5月15日頃、G・・・

続きを読む

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